react-redux源码解析

先看一下src文件下的最外层的index.js:

对外导出了四个东西,常用的两个是Provider和connect,直接到对应的文件夹下去看。

1,Provider

Provider.js中源码不多,

connect方法做的事情是将state和dispatch绑定到Connect组件的参数上,然后Connect组件将你当前的App组件封装起来,使得App组件可以通过props获取到父组件Connect传递的state和props。

这也就是为什么你可以在自己写的组件上面直接通过this.props访问到state和action。有的人是通过store去读取state和dispatch action,也是一样的道理。

从connect方法的实现,我们看到了非常多react组件的影子,生命周期,props传递,context上下文。

对比Provider组件:

Provider是顶层组件的作用,将store作为上下文提供给全局共享,而Connect组件是局部组件,将某个react组件包装起来,传递指定的state和props给该组件访问。

end

原文地址:https://www.cnblogs.com/yanchenyu/p/8706168.html