轉載自:https://www.jianshu.com/p/e54a9a34a773
Vuex的原理和使用方法

數據單向流動
一個應用可以看作是由上面三部分組成: View, Actions,State,數據的流動也是從View => Actions => State =>View 以此達到數據的單向流動。
但是,當我們的應用遇到多個組件共享狀態時,單向數據流的簡潔性很容易被破壞:
- 多個視圖依賴於同一狀態。
- 來自不同視圖的行為需要變更同一狀態。
當項目較大, 組件嵌套過多的時候,使用傳參的方式會變得非常繁瑣 多組件共享同一個State會在數據傳遞時出現很多問題.Vuex就是為了解決這些問題而產生的.
Vuex可以被看作項目中所有組件的數據中心,我們將所有組件中共享的State抽離出來,任何組件都可以訪問和操作我們的數據中心.

Vuex原理
一個實例化的Vuex.Store由state, mutations和actions三個屬性組成:
- state中保存着共有數據
- 改變state中的數據有且只有通過mutations中的方法,且mutations中的方法必須是同步的
- 如果要寫異步的方法,需要些在actions中, 並通過commit到mutations中進行state中數據的更改.