redux provider

2.Provider的实现方式。

在我们在调用Provider时,采用的是以下的方式:

const store = createStore(reducer)

render(

document.getElementById('root')

);

a.首先我们看到的是先创建store对象;

b.然后将store传递给Provider;

c.然后将应用组件做为Provider的子组件。

不过问题又来了:我们并没有看到Provider将store作为props传递给子组件啊。

Provider是通过getChildContext的的方式传递给子组件的,并且我们也在connect中看到子组件取数据的过程:constructor(props, context) {

super(props, context)

this.version = version

this.store = props.store || context.store

.......

}

在没有定义props的情况下,通过context直接取得store中的数据,或者说取得context中的数据。而常见的场景一般如下:

看来Provider的实现原理,也就知道了它的封装过程和方法,也能更加灵活的运用了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容