React.js 除了状态提升以外并没有更好的办法帮我们解决组件之间共享状态的问题,而使用 context 全局变量让程序不可预测。通过 Redux 的章节,我们知道 store 里面的内容是不可以随意修改的,而是通过 dispatch 才能变更里面的 state。所以我们尝试把 store 和 context 结合起来使用,可以兼顾组件之间共享状态问题和共享状态可能被任意修改的问题。

    而每个组件需要的数据和需要触发的 action 都不一样,所以调整 ,让它可以接受两个参数 mapStateToPropsmapDispatchToProps,分别用于告诉 connect 这个组件需要什么数据和需要触发什么 action。

    这几节的成果就是 react-redux.js 这个文件里面的两个内容: 函数和 Provider 容器组件。这就是 React-redux 的基本内容,当然它是一个残疾版本的 React-redux,很多地方需要完善。例如上几节提到的性能问题,现在不相关的数据变化的时候其实所有组件都会重新渲染的,这个性能优化留给读者做练习。


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