redux、 react-redux、dva理解

状态管理
状态管理用来管理通讯复杂的组件树,使得数据流向变为单向,项目维护成本更低。
redux:
通过createStore创建仓库,保证store数据修改只支持reducers纯函数去修改。 通过combineReducers去将多组件rēducers组装在一起。我们就可以通过dispatch一个action去触发reducers. 但是redux没有提供存在副作用的api。所以使用redux-saga中间件来进行操作异步。在saga(effect)中,我们可以通过takeEvery来监听dispatch,通过call来调用异步方法,通过put来触发reducer,通过select来获取状态。

react-redux:
通过connect将容器组件与redux中的store关联,当store改变时,mapStateToProps这个回调函数就会执行,页面重新渲染。

但是:store调用dispatch后所有的reducer都会被执行,而每个reducer里面只能用switch case之类的流程控制语句去执行,而且命名也会混乱。所以dva的出现有了module概念,组件调用dispatch的时候可以通过指定type属性来直接调用相应module的effect或者reducer。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值