我想知道undo和redo编程的基本原理是什么?特别是在React Native中。我是一名初学程序员,我无法弄清楚如何对程序进行编程,因为它只是反转任何东西。
例如,使用单人纸牌游戏,您可以将卡片放在其中一个卡片行的一端,只需在源堆中翻转一张卡片,或者将卡片中的卡片放在一堆卡片上。这些都很容易编程,但你如何实现一个简单的撤消'按钮可以反转任何这些动作?并且可能无限制。
答案 0 :(得分:0)
如何维护状态的基本示例
http://redux.js.org/docs/recipes/ImplementingUndoHistory.html
let state = {
past:[],
present: 0,
future: [],
};
const canUndo = state.past.length > 0;
const canRedo = state.future.length > 0;
const updateState = function(value) {
state.past = state.present;
state.present = value;
};
const undo = function() {
state.future.push(state.present);
state.present = state.past.pop();
};
const redo = function() {
state.past.push(state.present);
state.present = state.present.pop();
};
redux的插件,可以重做/撤消