千鋒教育前端Vue3.0全套視頻教程(Kerwin2023版,Vue.js零基礎(chǔ)
2023-07-21 12:15 作者:66511883256_bili | 我要投稿

VUEX的原理:
Vuex 是一種專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式,采用集中式存儲管理應(yīng)用的所有組件的狀態(tài),在大型復(fù)雜的單頁應(yīng)用中極其有用。
原理:Vuex 借鑒了 Flux、Redux 架構(gòu)模式的設(shè)計思想,整個 Vuex 流程可以總結(jié)為 “Vue 組件通過 dispatch 方法觸發(fā) action,然后 action 通過 commit 提交一個 mutation,mutation 改變 state,獲取 state 的唯一方法就是 getter”
- State: Vuex 使用單一狀態(tài)樹,用一個對象就包含了全部的應(yīng)用層級狀態(tài)。所以我們使用一個對象就能存儲整個應(yīng)用的狀態(tài)。
- Getter: Vuex 允許我們在 store 中定義 getters,你可以將其理解為在 store 里面的計算屬性。getters 的返回值會根據(jù)依賴被緩存起來,且只有當(dāng)寶貝的 state 值發(fā)生改變才會重新計算。
- Mutation: Vuex 的 store 的狀態(tài)的唯一就改變的方式:就是提交 Mutation。Mutation 必須是同步函數(shù),一條重要的原則就是要記住,Mutation 必須是同步事務(wù)。
- Action: Action 類似于 Mutation,Action 提交的是 Mutation,而不是直接變更狀態(tài)。Action 可以包含任意異步操作。
- Module: Vuex 允許我們將 store 分割成模塊,每個模塊擁有自己的 state、mutation、action、getter、甚至其子模塊。
Vuex 是解決復(fù)雜大型應(yīng)用,組件間狀態(tài)共享的有效手段,跟通過 props/emit 或 emit/on 通信比,Vuex 的優(yōu)勢在于大型應(yīng)用,多個組件共享某些狀態(tài)時,還能保持狀態(tài)可以預(yù)測,易于維護(hù)和追蹤
標(biāo)簽: