81 / 98
Как реализовать undo/redo функционал в React-приложении?
Undo/redo реализуется через хранение истории состояний: массив past, текущее состояние present и массив future. При каждом действии текущий present добавляется в past. Undo достаёт последний элемент из past и перемещает текущий в future. Redo — наоборот. Это паттерн Memento (или Command — если хранятся команды вместо снимков).