Redux 和 Vuex 的设计思想

Redux 和 Vuex 的设计思想

Flux的核心思想就是数据和逻辑永远单向流动,由三大部分组成

dispatcher(负责分发事件),
store(负责保存数据,同时响应事件并更新数据)和
view(负责订阅store中的数据,并使用这些数据渲染相应的页面),
Redux和Vuex是flux思想的具体实现,都是用来做状态管理的工具,
Redux主要在react中使用,Vuex主要在vue中使用。

Redux设计和使用的三大原则:

(1)单一的数据源:整个应用的 state被储存在唯一一个 store中;
(2)状态是只读的:Store.state不能直接修改(只读),必须调用dispatch(action) => store.reducer => return
newState;action是一个对象,有type(操作类型)和payload(新值)属性;
(3)状态修改均由纯函数完成:在Redux中,通过纯函数reducer来确定状态的改变,
因为reducer是纯函数,所以相同的输入,一定会得到相同的输出,同时也不支持异步;返回值是一个全新的state;

vuex由State + Muatations(commit) + Actions(dispatch) 组成:

(1)全局只有一个Store实例(单一数据源);
(2)Mutations必须是同步事务,不同步修改的话,会很难调试,不知道改变什么时候发生,
也很难确定先后顺序,A、B两个mutation,调用顺序可能是A -> B,但是最终改变 State的结果可能是B -> A;

Q.E.D.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值