1 分钟带你入门 Redux、React-Redux
前言:还在迷茫在Redux门外的小伙伴们,今天de福利就能让你豁然开朗。至于Redux的目的我在这里就不在累赘了,直接上手基本用法。
Redux
我们先来看看Redux简单的工作流程吧?上图:
点击页面上的按钮会触发事件(callback)
在这个事件里面dispatch一个你需要做的事(action)
在reducer这个方法中处理数据(state)
视图view应为数据被修改而改变
简单的三部曲就是redux的全部,哈哈,如果不清楚,那就贴个完整的代码吧
React-Redux
看到清楚上面的所展示Redux的"全部世界"之后,是不是感觉用起来还是不爽呀,那么React-Redux就是为了让你用来爽的,废话不多说,线上代码:
好了,我们来总结一下:
React-Redux 提供了两个最重要的API,一个是Provider,一个是connect
Provider数据提供方,类似React Context (如何不清楚的小伙伴可以参考1 分钟带你搞定 React Context 的基本用法)
connect连接器,就是一个高阶函数;作用有二,一是能够获取Provider中store中的公共数据,二就是派发dispatch,并且都是从props上获取;这样就可以让你在用父子组件通信的成本,实现任意组件之间的通信
小结
Redux主要就是实现单向数据流的功能
首先,createStore,并把reducer函数传递给他
然后,将createStore创建的store进行监听订阅,store.subscribe
最后,通过store.dispatch指定需要的action,从而触发之前在store.subscribe中定义的函数
还有就是通过store.getState获取store中定义公共数据
React-Redux主要就是让Redux能够愉快在React中使用
Proivder一个高阶组件,简化了store.sbuscribe和store.getState的方式
connect是一个高阶组件, 方便使用state和dispatch(如果对高阶组件不了解的,可以先看看这个1 分钟带你入门 React 公共逻辑抽离 HOC... )
最后,希望你能在React中愉快的使用Redux啦! 当然更多信息请参考官方文档。
Redux除了上文介绍的这些,还有个中间件的概念需要了解一下1 分钟带你入门 Redux 中间件
参考:
版权声明: 本文为 InfoQ 作者【Leo】的原创文章。
原文链接:【http://xie.infoq.cn/article/b24d6861c88b5a745909b73d6】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论