一: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