Flutter redux обновляет определенную переменную состояния, не затрагивая другую переменную - PullRequest
0 голосов
/ 29 мая 2019

У меня есть подобное состояние

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]);

Вот основная проблема,

Вы можете видеть, что я передал статическую строку переменной заголовка.Он отлично работает и виден на всех страницах.

Но как только вызывается редуктор, этот заголовок получает значение null.Я не хочу передавать какое-либо значение заголовку.Должно быть так, как есть, с собственной ценностью.Я обновлял только список имен.

В управлении состоянием javascript мы можем обновлять любую переменную, которую хотим, не затрагивая другие переменные в состоянии.Как я могу сделать это в флаттер-редуксе?

Спасибо.

1 Ответ

1 голос
/ 29 мая 2019

Вам нужно передать все переменные текущего состояния при возврате нового состояния.

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

  return state;
}
...