Redux 和 Vuex 有什么区别,它们的共同思想

78 阅读1分钟

Vuex 改进了 Redux 中的 Action 和 Reducer 函数,以 mutations 变化函数取代 Reducer,无需 switch,只需在对应的 mutation 函数里改变 state 值即可

Vuex 由于 Vue 自动重新渲染的特性,无需订阅重新渲染函数,只要生成新的 State 即可

Vuex 数据流的顺序是∶View 调用 store.commit 提交对应的请求到Store 中对应的 mutation 函数->store 改变(vue 检测到数据变化自动渲染)

通俗点理解就是,vuex 弱化 dispatch,通过 commit 进行 store 状态的一次更变;取消了 action 概念,不必传入特定的 action 形式进行指定变更;弱化 reducer,基于 commit 参数直接对数据进行转变,

使得框架更加简易;

(2)共同思想

  • 单—的数据源

  • 变化可以预测

  • 本质上:redux 与 vuex 都是对 mvvm 思想的服务,将数据从视图中抽离的一种方案;

  • 形式上:vuex 借鉴了 redux,将 store 作为全局的数据中心,进行mode 管理;