在React框架开发应用时,作为状态管理工具的Redux会经常用到,接下来的这几篇文章会从源码上逐个分析Redux中的每个Api,并结合例子帮助理解,这样可以在以后的开发中更加熟练应用。
createStore
用过Redux肯定会知道,这个Api是其最重要的一个,也是Redux的入口。下面先看一下其源码(这里省略了两个不常用到的方法),然后会每一步做了什么进行分析:
1 | //其实就是一个函数,接收三个参数,reducer、初始状态(preloadedState)、应用的中间件(enhancer) |
从上面逐条代码的分析可以看出,redux的createStore内部实现原理其实并不复杂,将状态同一进行管理,当需要改变的时候,必须派发更新操作,也就是dispatch(action),而不可以直接对state进行赋值。
在React中应用Redux实例:
分析完源码,下面结合具体例子来说明一下(部分地方省略):
1 | //store.js |
1 | //App.js |
通过一个简单的例子并结合上面的源码分析,可以清晰的知道Redux内部具体做了什么,其实再复杂的项目,内部Redux的实现都是一样的,都是像上面分析的一样。