iT邦幫忙

2022 iThome 鐵人賽

DAY 27
0

Pinia這顆鳳梨有夠甜

Pinia是Vue官方推薦的狀態管理工具,
雖然官方列出一大堆好處,但對菜鳥我來說目前的好處是:沒有mutations
其他好處如下,待我使用越深之後再回頭看看。

  • 可以直接動態調用
  • 更好的支持TS
  • Devtools支持更全面(有時間軸可以追蹤,並且可以看在哪裡被使用)
  • 更方便拓展

......等等

起手式

npm install pinia

//下載後一樣在Nuxt.config裡面設定Module
modules: ['@pinia/nuxt']

新增我們的store囉

在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%!也因為這龐大的利益,導致礦區爭奪地盤、衝突、戰爭不不斷,也因為武裝勢力,導致當地開採效率低落。

https://ithelp.ithome.com.tw/upload/images/20221012/201402478qzbMHZJ01.jpg
圖片來源



參考資料

Pinia 官方文件


上一篇
把專案Nuxt3起來&config設定-D26
下一篇
Vue Option 到Composition API 搬家實作-D28
系列文
分手前端菜雞之旅@非洲30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言