vuex和redux区别

317 阅读1分钟

vuex

state => 单一数据源
getters => 状态
mutations => 直接修改state,同步操作
action => 可用于异步操作,提交 mutation,使用dispatch、commit
modules => 模块化

redux

store => 单一数据源
reducer => 纯函数,用于触发action改变store
action => 同步action或借助redux-thunk中间件实现异步操作,描述了已发生事件的普通对象

共同点

  • 首先两者都是处理全局状态的工具库,大致实现思想都是:全局state保存状态---->dispatch(action)------>reducer(vuex里的mutation)----> 生成newState; 整个状态为同步操作;

区别

  • 最大的区别在于处理异步的不同,vuex里面多了一步commit操作,在action之后commit(mutation)之前处理异步,而redux里面则是通过中间件处理

  • redux 是一个 通用的状态管理机制,不依赖于 react, 通过 react-redux 可应用于 react 应用。

  • vuex 不同, 它依赖于 vue, 无法用在非 vue 应用场景。

参考文章

vuex.vuejs.org/zh/