Reducer

    • Reducer 是一个上下文无关的 pure function。它接收下面的参数
      • T state
      • Action action
    • 它主要包含三方面的信息
      • 接收一个“意图”, 做出数据修改。
      • 如果要修改数据,需要创建一份新的拷贝,修改在拷贝上。
      • 如果数据修改了,它会自动触发 State 的层层数据的拷贝,再以扁平化方式通知组件刷新。
    • 示例代码
    1. Reducer<String> buildMessageReducer() {
    2. return asReducer(<Object, Reducer<String>>{
    3. 'shared': _shared,
    4. });
    5. }
    6. String _shared(String msg, Action action) {
    7. return '$msg [shared]';
    8. class MessageComponent extends Component<String> {
    9. view: buildMessageView,
    10. effect: buildEffect(),
    11. reducer: buildMessageReducer(),
    12. );
    13. }