其实它要用 context 就是因为要把 store 存放到里面,好让子组件 connect 的时候能够取到 。我们可以额外构建一个组件来做这种脏活,然后让这个组件成为组件树的根节点,那么它的子组件都可以获取到 context 了。

    我们把这个组件叫 Provider,因为它提供(provide)了 store

    src/react-redux.js 新增代码:

    做的事情也很简单,它就是一个容器组件,会把嵌套的内容原封不动作为自己的子组件渲染出来。它还会把外界传给它的 props.store 放到 context,这样子组件 connect 的时候都可以获取到。

    这样我们就把所有关于 context 的代码从组件里面删除了。


    因为第三方评论工具有问题,对本章节有任何疑问的朋友可以移步到 发帖,我会回答大家的疑问。