概述
状态管理
状态管理用来管理通讯复杂的组件树,使得数据流向变为单向,项目维护成本更低。
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。
最后
以上就是朴素微笑为你收集整理的redux、 react-redux、dva理解的全部内容,希望文章能够帮你解决redux、 react-redux、dva理解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复