Vuex是Vue.js的官方狀況管理形式跟庫,它為Vue利用供給了一種會合式存儲管理全部組件的狀況的方法。Vuex經由過程會合式存儲管理狀況,並以響應的規矩保證狀況以一種可猜測的方法產生變更,這使得在構建中大年夜型利用時,可能更好地保護組件間的狀況一致性。
什麼是Vuex?
Vuex是一個專為Vue.js利用順序開辟的狀況管理形式及庫。它採用會合式存儲管理當用的全部組件的狀況,並以響應的規矩保證狀況以一種可猜測的方法產生變更。Vuex的計劃靈感來源於Flux、Redux跟The Elm Architecture。
Vuex的核心不雅點
Vuex的核心不雅點包含:
1. State(狀況)
State是Vuex中的核心,它存儲了全部利用的數據。在Vuex中,狀況存儲在一個東西樹中。比方:
const store = new Vuex.Store({
state: {
count: 0
}
});
2. Getters(獲取器)
Getters類似於Vue的打算屬性,用於從State中派生出一些狀況。比方:
const store = new Vuex.Store({
state: {
count: 10
},
getters: {
doubleCount: state => state.count * 2
}
});
3. Mutations(突變)
Mutations是Vuex中唯一可能修改State的方法,它必須是同步的。比方:
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment(state) {
state.count++;
}
}
});
4. Actions(行動)
Actions可能包含咨意非同步操縱,它們經由過程提交Mutations來改變狀況。比方:
const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment(state) {
state.count++;
}
},
actions: {
increment(context) {
context.commit('increment');
}
}
});
5. Modules(模塊)
Vuex容許我們將Store分割成模塊,每個模塊都有本人的State、Getters、Mutations跟Actions。
Vuex的任務道理
Vuex的任務道理如下:
- 當組件須要讀取狀況時,它會從Store中讀取。
- 當組件須要改變狀況時,它會經由過程提交Mutation或挪用Action來改變狀況。
- Mutation或Action會經由過程Store來更新狀況。
- 當狀況更新時,全部依附該狀況的組件都會主動更新。
Vuex的利用處景
Vuex實用於以下場景:
- 中大年夜型利用
- 須要保護組件間狀況一致性的利用
- 須要處理複雜狀況邏輯的利用
Vuex的最佳現實
- 利用模塊化構造Vuex
- 避免在Actions中停止非同步操縱
- 利用Getters停止狀況打算
- 利用Mutation停止狀況修改
總結
Vuex是Vue.js中一個富強的狀況管理形式跟庫,它為Vue利用供給了一種會合式存儲管理全部組件的狀況的方法。經由過程Vuex,我們可能更好地保護組件間的狀況一致性,並構建更複雜、更堅固的利用。