先决条件减速器概念( Prerequisite Reducer Concepts )

先决条件减速器概念( Prerequisite Reducer Concepts )

如 Reducers 中所述,Redux reducer 功能:

  • 应该有一个签名(previousState, action) => newState,类似于你要传递给的函数的类型Array.prototype.reduce(reducer, ?initialValue)

关于不变性,边缘作用和突变的注意事项不鼓励突变,因为它通常会中断时间行程调试和React Redux的connect功能:

  • 对于时间旅行,Redux DevTools 期望重放记录的动作会输出一个状态值,但不会改变其他任何东西。诸如变异或异步行为之类的副作用会导致时间旅行改变步骤之间的行为,从而破坏应用程序

其他副作用,例如在 reducer 中生成唯一ID或时间戳,也会使代码难以预测并且难以调试和测试。

由于这些规则,在转向组织 Redux reducer 的其他特定技术之前,必须充分理解以下核心概念:

Redux Reducer基础

重要概念

  • 从状态和状态形状的角度思考

阅读清单

  • Redux Docs: Reducers

纯粹的功能和副作用

重要概念

  • 副作用

阅读清单

不可变的数据管理

重要概念

  • 易变性与不变性

阅读清单

规范化数据

重要概念

  • 数据库结构和组织

阅读清单