一:redux和flux的區別
1)redux是flux中的一個實現
2))在redux中我們只能定義一個store,在flux中我們可以定義多個
3)在redux中,store和dispatch都放到了store,結構更加清晰
4)在redux中本身就內置State對象,對倉庫的管理更加明確
二:redux和vuex的區別
1)vuex是redux的基礎上進行改變,對倉庫的管理更加明確
2)使用mutation來替換redux中的reducer
3)vuex有自動渲染的功能,所以不需要更新
三: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