vuex 與 redux 的 區別

2022-07-01 16:33:12 字數 1388 閱讀 5558

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

vuex與redux的使用

state 儲存資料 mutations 修改state資料的同步方法 actions 非同步方法,請求之類的 modules 掛載別的倉庫 vue例項中使用this.store.xx來使用資料,呼叫action中的方法需要 this.store.dispatch 方法名 進行分發,需要呼叫muta...

自己對vuex 和 redux的理解

1.毫無以疑問都是用了設計模式中的 觀察者模式 或者說 發布 訂閱模式 2.發布訂閱模式 需要有 事件物件event 事件物件有 listen 訂閱 trigger 發布訊息 remove 取消訂閱 等屬性 3.在vuex中,vue.store 相當於event物件,store.commit 相當於...

Vuex起步 Vuex和全域性物件的區別

每乙個 vuex 應用的核心就是 store 倉庫 store 基本上就是乙個容器,它包含著你的應用中大部分的狀態 state vuex 和單純的全域性物件有以下兩點不同 vuex 的狀態儲存是響應式的。當 vue 元件從 store 中讀取狀態的時候,若 store 中的狀態發生變化,那麼相應的元...