React Redux,替换状态历史记录

时间:2018-07-27 16:41:43

标签: reactjs redux

我正在开发一个有一个Canvas的应用程序。 用户可以选择复制此画布以保存其成就。

我的问题是,当他们回到此画布时,是否可以擦除实际状态历史记录并用react-redux中的画布替换它? 是否有一种有效的方法来在Redux中用另一个历史记录替换状态历史记录?

我可以尝试在商店中直接对其进行更改,但这有点脏...

以下是我的代码段:

商店

const store = createStore(combineReducers({
       historyCanvas,
       canvasDrawing
}));

减速器

var stateCanvasDrawing = {
  lines = [{id:1, strokes: [..] }, {id:2, strokes: [..] }] 
}
var stateHistoryCanvas = {
  history = [{id: history1, state: {present: [..], past: [..], future:[..]}] 

我将状态存储在历史记录中 然后,通过单击图标,我可以检索要替换的状态:

var tempState = state.stateHistoryCanvas[0]['state'];

然后我想做类似的事情:

store.getState()['stateCanvasDrawing'] = tempState;

以用我获取的状态替换实际状态。 只需使用redux就可以轻松实现。

但是我正在使用redux-undo,那么如何将存储在“ stateHistoryCanvas”中的整个历史复制到新状态?我不想只复制 还有state['future'] state['past']

希望很清楚,

谢谢大家

0 个答案:

没有答案