vuex 與 redux 的 區別

一:redux和flux的區別前端

  1)redux是flux中的一個實現vue

  2))在redux中咱們只能定義一個store,在flux中咱們能夠定義多個vuex

  3)在redux中,store和dispatch都放到了store,結構更加清晰redux

  4)在redux中自己就內置State對象,對倉庫的管理更加明確安全

二:redux和vuex的區別前端框架

  1)vuex是redux的基礎上進行改變,對倉庫的管理更加明確框架

  2)使用mutation來替換redux中的reducer工具

  3)vuex有自動渲染的功能,因此不須要更新spa

三:redux的優勢對象

  1)將派發器注入到倉庫中,結構更加清晰

  2)減小手動代碼量,提升代碼效率

四:redux的缺點

  1)一個子組件的狀態必須經過父組件傳遞過來,父組件從倉庫統一調控

  2)當一個組件相關數據更新時,即便你的父組件不須要這個組件,它仍是會自動更新

五:關於flux

  1)狀態集管理框架,由facebook建立,專門用來構建前端框架結構的框架,便於維護,用於安全考慮

  它分爲四層:view視圖層     action層    dispatcher派發層   store倉庫層

  view——>action——>dispatcher——>store返回——>dispatcher——>view(接收的方法:register())

六:關於redux

  1)redux是一個泛用的狀態管理框架

  2)解決組件與組件狀態管理的問題

  3)redux是flux中的一個實現,不是全部的項目都適合redux

  redux的流程;

  view——>action——>store——>reducer(返回)——>store——view

七:關於vuex

  1)vuex是專門爲vue提供的狀態管理工具

  2) 便於維護,保證安全,vue中引入vuex,解決狀態之間共享的問題

  3)多個組件調用一個狀態,將原來組建與組件之間的狀態傳遞改爲組件與倉庫之間的傳遞

  4)vuex適用於構建大型的項目,若是不是大型項目,使用vuex會使代碼更加繁瑣

  2)vuex核心:

    state:存放多個組件共享的狀態(數據)

    mutations:存放更改state裏狀態的方法,用於變動狀態,是惟一一個更改狀態的屬性

    getters:將state中某個狀態進行過濾,而後獲取新的狀態,相似於vue中的computed

    actions:用於調用事件動做,並傳遞給mutation

    modules:主要用來拆分state

    vueComnent——》(dispatch)Action——》(commit)——》Mutations——》(mutate)State——》(render)VueComponent

相關文章
相關標籤/搜索