尽管在 re-frame 主页上写着“保存和撤销变得非常容易”,但 re-frame 示例应用程序 'todomvc' 没有实现撤销/重做功能的代码。
当使用像 Java 这样的面向对象语言时,通常通过为执行的操作使用命令接口来实现撤销/重做,将其与它们的“反转”一起存储,并从存储的命令对象集合中(重新)执行这些命令。
虽然我已经阅读了 Clojure 等常见 OO 设计模式的页面(包括命令在此处),但在一些示例或应用程序中看到使用 reagent、re-frame 实现撤销/重做会很有帮助。
问:在使用 reagent 和 re-frame 时如何在 crud 类型的应用程序中实现撤销和重做?
当使用像 Java 这样的面向对象语言时,通常通过为执行的操作使用命令接口来实现撤销/重做,将其与它们的“反转”一起存储,并从存储的命令对象集合中(重新)执行这些命令。
虽然我已经阅读了 Clojure 等常见 OO 设计模式的页面(包括命令在此处),但在一些示例或应用程序中看到使用 reagent、re-frame 实现撤销/重做会很有帮助。
问:在使用 reagent 和 re-frame 时如何在 crud 类型的应用程序中实现撤销和重做?
(dispatch [:undo])
和(dispatch [:redo])
。 - Mike Thompson