我有这样的状态
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中做到这一点?
谢谢。
答案 0 :(得分:1)
返回新状态时,您需要传递当前状态的所有变量。
NameState reducer(NameState state, dynamic action) {
if (action is NameAction) {
return NameState(
name: []..addAll(action.showAction),
title: state.title,
);
}
return state;
}