如何修复redux中两次更新相同信息的问题



我正在尝试对reducer的actions代码进行重构。问题是一个状态依赖于另一个状态,所以一个状态被更新,然后另一个必须接收相同的信息,但指示它更新它。这是演示。文件夹为src/reducer。

我曾试图把各州分开,但这给了我更多的麻烦。

F.e.我有两个州:董事会和现任董事会板上发生了什么:

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)

如何重写代码以使其变得更好?我希望它至少更新一次。

板中的操作"ADD_CARD"已经调用updateCards(currentBoard, action.payload),,因此只需从currentBoard中删除ADD_CARD即可。

此外,您可能需要更改boardsADD_CARD操作的代码(它不是干净的(:

case 'ADD_CARD':
const { list } = action.payload;
const newBoard = updateCards(currentBoard, action.payload);
list.splice(list.boardId, 0, newBoard);
return list;
}

最新更新