edux与flux都是react框架的应用数据流框架。vuex是vue的核心方法。
redux是一个应用数据流框架,主要是解决了组件间状态共享的问题,原理是集中式管理,主要有三个核心方法,action,store,reducer,工作流程是view调用store的dispatch接收action传入store,reducer进行state操作,view通过store提供的getState获取最新的数据。
flux也是用来进行数据操作的,有四个组成部分action,dispatch,view,store,工作流程是view发出一个action,派发器接收action,让store进行数据更新,更新完成以后store发出change,view接受change更新视图。
Redux和Flux很像。主要区别在于Flux有多个可以改变应用状态的store,在Flux中dispatcher被用来传递数据到注册的回调事件,但是在redux中只能定义一个可更新状态的store,redux把store和Dispatcher合并,结构更加简单清晰,新增state,对状态的管理更加明确,通过redux,流程更加规范了,减少手动编码量,提高了编码效率,同时缺点是当数据更新时有时候组件不需要,但是也要重新绘制,有些影响效率。一般情况下,我们在构建多交互,多数据流的复杂项目应用时才会使用它们。
Vuex 是一个专为 Vue.js 设计的状态管理模式,vuex解决了组件之间同一状态的共享问题。当我们的应用遇到多个组件共享状态时,会需要多个组件依赖于同一状态,这时候使用vuex就可以很好的解决。