Как исправить обновление одной и той же информации дважды в Redux? - PullRequest
0 голосов
/ 10 ноября 2019

Я пытаюсь сделать рефакторинг кода моего редуктора, действий. Проблема в том, что одно состояние зависит от другого, поэтому одно состояние обновляется, а затем другое должно получать ту же информацию, но она обновляется. Вот демоверсия . Папка src / reducer.

Я пытался разделить состояния, но это доставило мне больше хлопот.

Fe У меня есть два состояния: board и currentBoard Что происходит в платах:

case 'ADD_CARD':
  const { list } = action.payload
    return [
      ...boards.slice(0, list.boardId),
      updateCards(currentBoard, action.payload),
      ...boards.slice(list.boardId + 1)
    ]

Что происходит в currentBoard:

case 'ADD_CARD':
  return updateCards(currentBoard, action.payload)

Как мне переписать свой код, чтобы он стал лучше? Я ожидаю, что он будет хотя бы один раз обновлен.

1 Ответ

0 голосов
/ 11 ноября 2019

Действие 'ADD_CARD' в платах уже вызывает updateCards(currentBoard, action.payload),, поэтому просто удалите ADD_CARD из currentBoard.

Также вы можете изменить код действия ADD_CARD внутри boards (это не чисто):

case 'ADD_CARD':
  const { list } = action.payload;
  const newBoard = updateCards(currentBoard, action.payload);
  list.splice(list.boardId, 0, newBoard);
  return list;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...