Reactjs React Redux,替换状态历史记录
我正在开发一个应用程序,其中我有一个画布。 用户可以选择复制此画布以保存其成果 我的问题是,当他们回到这个画布时,是否有可能删除实际的状态历史,并用react redux中的画布历史替换它? 在redux中,有没有一种有效的方法可以将一个状态历史替换为另一个状态历史 我可以直接在店里换,但是有点脏 以下是我的一些代码片段: 商店Reactjs React Redux,替换状态历史记录,reactjs,redux,Reactjs,Redux,我正在开发一个应用程序,其中我有一个画布。 用户可以选择复制此画布以保存其成果 我的问题是,当他们回到这个画布时,是否有可能删除实际的状态历史,并用react redux中的画布历史替换它? 在redux中,有没有一种有效的方法可以将一个状态历史替换为另一个状态历史 我可以直接在店里换,但是有点脏 以下是我的一些代码片段: 商店 const store = createStore(combineReducers({ historyCanvas, canvasDrawi
const store = createStore(combineReducers({
historyCanvas,
canvasDrawing
}));
减速器
var stateCanvasDrawing = {
lines = [{id:1, strokes: [..] }, {id:2, strokes: [..] }]
}
var stateHistoryCanvas = {
history = [{id: history1, state: {present: [..], past: [..], future:[..]}]
我将状态存储在historyCanvas还原器中:
然后,通过单击图标,我可以检索我要替换的状态:
var tempState = state.stateHistoryCanvas[0]['state'];
然后我想做一些类似的事情:
store.getState()['stateCanvasDrawing'] = tempState;
以用我检索的状态替换实际状态。
这将是简单的,只是重复
但是我使用的是redux undo,那么如何将存储在“stateHistoryCanvas”中的整个历史复制到新的状态呢?我不想只复制
还有状态['future']状态['pass']
希望这是清楚的
谢谢大家,是的,您的减速机可能会返回一个全新的状态。你能在代码的相关部分发布一些代码片段吗?讨论实际代码比讨论理论更容易。正如前面的评论所指出的,我们确实需要看到一些代码来正确回答,但我认为一般来说,如果您使用Redux,您应该将状态保存在存储中,并尽可能从那里访问它。它可能很烦人,但在规模上要强大得多。如果你的应用程序将非常小,你可能想考虑根本不使用ReDux。显然你只需要返回另一个状态到你的减速机,但是你应该真的发布你的代码,这样我们就可以更好地讨论它了!麦克坎布里奇,我已经更新了我的答案。希望你能理解