我们从一个简单的例子的代码中发现了共享的状态如果可以被任意修改的话,那么程序的行为将非常不可预料,所以我们提高了修改数据的门槛:你必须通过 执行某些允许的修改操作,而且必须大张旗鼓的在 action
里面声明。
这种模式挺好用的,我们就把它抽象出来一个 createStore
,它可以产生 store
,里面包含 和 dispatch
函数,方便我们使用。
接下来我们发现了原来的“重新渲染视图”有比较严重的性能问题,我们引入了“共享结构的对象”来帮我们解决问题,这样就可以在每个渲染函数的开头进行简单的判断避免没有被修改过的数据重新渲染。
我们优化了 stateChanger
为 reducer,定义了 reducer 只能是纯函数,功能就是负责初始 ,和根据 state
和 action
计算具有共享结构的新的 state
。
现在的代码跟 React.js 一点关系都没有,接下来我们要把 React.js 和 Redux 结合起来,用 Redux 模式帮助管理 React.js 的应用状态。
因为第三方评论工具有问题,对本章节有任何疑问的朋友可以移步到 React.js 小书的论坛 发帖,我会回答大家的疑问。