Reducer Function
Reducer 接收「当前状态 + 动作」,返回新状态,不直接修改旧状态;是 Redux 风格与不可变更新的核心模式。
项目中的实现
- 源码:
src/reducerFunction.ts - 导出:
CounterState、CounterAction(类型)、counterReducer、reduceItems
各函数示例
counterReducer
import { counterReducer } from 'wssf-kage-js';
counterReducer({ count: 0 }, { type: 'increment', step: 2 }); // => { count: 2 }
reduceItems
import { reduceItems } from 'wssf-kage-js';
reduceItems([1, 2, 3], (acc, n) => acc + n, 0); // => 6
什么时候优先用
- 复杂 UI 或工作流状态机
- 需要时间旅行调试、可预测状态迁移的场景