Provider
Provider也是一个普通的组件,其具体介绍可见 官方文档 和 知乎Provider
<Provider store={store}>
<App />
</Provider>
//<App />
<div>
<Business />
<Stock />
<Common />
</div>
上面代码通过Provider向组件<App />中传递store, 这里要注意,Provider不仅向<App />传递store,而且也向<App />的子孙组件传递, 所以只要一个组件的祖先是<App />,那这个组件就可以拿到store。
如果一个组件的祖先被Provider包裹并传入store,那么这个组件就可以用connect将组件与Redux.store绑定,如果connect函数传入了第一个参数mapStateToProps,则组件可以根据该参数选择要传入组件的属性值。
使用中注意事项
如果在<App />及其子孙组件中,通过appendChild添加新的节点,则该节点的祖先虽然也是<App />,但是其无法拿到store,挂载在该节点上的组件也无法使用connect注入props.