vuex 筆記整理

  • 在vuex出來之前,咱們怎麼管理咱們的狀態?
    data --> state
    template --> view
    methods --> actions
    一個表示「單向數據流」理念的極簡示意
    vue--(dispath)->actions---(modify state)-->state---(render)->vue ... 如此循環下去
    圖片描述
    vuex的出現,在actions 和state之間多了一層 mutations
    vue--(dispath)--> actions--(commit)-->mutations--(modidy)-->state--(render)-->vue ... 如此單向數據流循環下去。
    再細分下 actions-->mutations-->state 就是vuex
    圖片描述
  • state
    Vuex 使用單一狀態樹,即每一個應用將僅僅包含一個 store 實例,但單一狀態樹和模塊化並不衝突。能夠同時設置多個子模塊,統一由一個store來管理
  • mutations
    下面一句話至關重要
    更改 Vuex 的 store 中的狀態的惟一方法是提交 mutation
    重要原則
    mutation 必須是同步函數
    如何必定是同步函數呢?
    假設當你能調用了兩個包含異步回調的 mutation 來改變狀態,你怎麼知道何時回調和
    哪一個先回調呢?
  • action
    當vue組件dispath一個action後,會提交的是 一個mutation,從而間接變動狀態state
    而且能夠是異步操做
    最簡單的調用如:store.dispatch('increment')

參考文獻html

相關文章
相關標籤/搜索