Обновление единственного значения в флаттер дартс редуксе - PullRequest
0 голосов
/ 28 июня 2019

У меня есть следующая карта получения BuiltMap; в BowlerState. Содержит объекты BowlerEntity. Я хочу обновить определенный котелок на этой карте. Мое действие BowlerUpdate содержит значения, которые необходимо обновить в этом конкретном боулере. Как мне это сделать? Для этого мне нужно изменить приведенный ниже редуктор.

Один редуктор похож на это

BowlerState _updateBowlerAge(
    BowlerState bowlerState, SaveBowlerAgeSuccess action) {
  return bowlerState.rebuild((b) => b
      ..map[action.bowler.id] = action.bowler
  );
}

1 Ответ

1 голос
/ 29 июня 2019

Используйте replace() для замены нужного BowlerEntityBuilder.

BowlerState _updateBowlerAge(BowlerState state, SaveBowlerAgeSuccess action) {
  final newMap = state.map[action.bowler.id].toBuilder()
    ..replace(action.bowler);
  return state.rebuild((b) => b
    ..map.replace(newMap));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...