将编辑保存到可以轻松撤消的redux状态

时间:2018-03-12 14:52:00

标签: reactjs redux react-redux

我有一个包含各种键和值的redux状态:



data: {
  item1: {
    id: 1
    name: 'Shirt',
    cost: 3
  },
  item2: {
    id: 2
    name: 'Pants',
    cost: 10
  },
  item3: {
    id: 3
    name: 'Hat',
    cost: 7
  }
}




我有一个界面,用户可以在其中更改这些值。我希望他们能够对这些数据进行任意数量的更改,如果他们想要回到原始状态,他们可以点击重置按钮。

您如何构建redux状态以保存编辑信息?

我想象的只是从原始状态开始,然后复制原始状态。所以我在redux状态下有originalMenueditedMenu。这样,任何删除,插入,编辑等都将包含在州的editedMenu部分。

以上看起来并不干净,因为我需要在redux状态下存储重复数据。我还想象着有一个menuEdits部分的州,只是容纳变化。因此它具有id以及任何已更改的值。或者已移除项目的isDeleted字段。

1 个答案:

答案 0 :(得分:0)

我认为您的数据对象应该有三种状态:过去,现在和未来。你可以查看https://github.com/reactjs/redux/blob/master/docs/recipes/ImplementingUndoHistory.md吗?。我认为这可能有帮助。

相关问题