Flutter Redux会更新特定状态变量,而不会影响其他变量

时间:2019-05-29 13:43:11

标签: flutter dart redux-thunk flutter-redux

我有这样的状态

class NameState{
    List name;
    dynamic title;
    NameState({this.title, this.name});
}

动作

class NameAction{
   List  showAction;
   NameAction(this.showAction);

}

像这样的减速器

NameState reducer(NameState state, dynamic action) {

 if (action is NameAction) {
  return NameState(
    name: []..addAll(action.showAction)
  );
}

 return state;

}

,初始状态是这样定义的 initialState: new NameState(title: 'this is title', name: []), middleware: [thunkMiddleware]);

这是主要问题,

您可以看到我给title变量提供了一个静态字符串。它在所有页面上都能正常显示和显示。

但是,在调用reducer时,该标题的值为null。我不想将任何值传递给title。它应该具有自己的价值。 我只更新名称列表。

在javascript状态管理中,我们可以更新所需的任何变量,而不会影响状态中的其他变量。我该如何在Flutter Redux中做到这一点?

谢谢。

1 个答案:

答案 0 :(得分:1)

返回新状态时,您需要传递当前状态的所有变量。

NameState reducer(NameState state, dynamic action) {
  if (action is NameAction) {
    return NameState(
      name: []..addAll(action.showAction),
      title: state.title,
    );
  }

  return state;
}