Pinia是Vue官方推薦的狀態管理工具,
雖然官方列出一大堆好處,但對菜鳥我來說目前的好處是:沒有mutations
其他好處如下,待我使用越深之後再回頭看看。
......等等
npm install pinia
//下載後一樣在Nuxt.config裡面設定Module
modules: ['@pinia/nuxt']
在nuxt專案根目錄下做store
資料夾,並新增index.ts
當作根路口
在我們的ts.config
檔案裡面只要有設定strict
或是noImplicitThis
Pinia會自動幫你檢查類型。
當然我們還是可以補上類型:Pinia-State
下面用我部份專案當例子,Pinia幾乎跟VueX很像,一看就懂:
import {defineStore} from 'pinia';
export const defaultStore = defineStore(
// 官方推薦箭頭符號以做類型檢查
state: () => {
return {
// 下面類型最自動檢查為:boolean
isPageLoading: false,
isMenuOpen: true,
}
},
actions: {
setLoading (value: boolean) {
const body = document.querySelector('body');
this.isPageLoading = value;
if(this.isPageLoading) body.style.overflow ="hidden";
if(!this.isPageLoading) body.style.overflow ="auto";
},
setMenuOpen(value: boolean){
this.isMenuOpen = value;
}
},
getters: {
someFunction(): string{
return 'anything you like'
}
},
})
import {defaultStore} from '~/store/index'
//直接使用actions
store.setMenuOpen(isMenuOpen.value);
//直接使用state
store.isPageLoading;
//重設
store.$reset();
看看官方文件,還有很多沒用到的(e.g. mapState ......),看之後專案有沒有機會用到囉。
環遊非洲第27天-世界上的兩個剛果
你知道世界上有兩個剛果嗎?一個是剛果民主共和國(DRC:Democratic Republic of the Congo)一個是剛果共和國 (Republic of the Congo) 兩個國家就在隔壁,各自的首都隔著剛果河要望彼此。
但如果你在瀏覽器打「剛果」,第一個出現的一定是「剛果民主共和國」,簡稱剛果(金)(金為剛果首都金夏沙)壓倒性地勝過剛果共和國,簡稱剛果(布)(布為首都**[布拉柴维尔]**)
DRC剛果民主共和國 比較有名的原因,當然是因為她的經濟實力2022預估GDP在非洲國家排名12名,
而剛果共和國預估排名在23左右。DRC 經濟實力來源之一,是因為他們蘊含的礦藏驚人,有色金屬多達20多種,占世界重要地位。據估計,剛果未開採的礦產價值25兆美金!(超過歐美加起來的GDP了!)其中最重要的黑色礦物鈳鉭鐵礦(Coltan)是製造手機的重要材料,剛果預估產量佔世界總產量的80%!也因為這龐大的利益,導致礦區爭奪地盤、衝突、戰爭不不斷,也因為武裝勢力,導致當地開採效率低落。