Hasty Briefsbeta

双语

Travels: Fast framework-agnostic undo/redo powered by mutative JSON patch

3 months ago
  • #javascript
  • #undo-redo
  • #state-management
  • Travels 是一个快速、框架无关的撤销/重做库,它只存储变更(JSON Patches)而非完整快照,速度提升10倍且内存效率更高。
  • 兼容 React、Vue、Zustand 或原生 JavaScript,是文本编辑器、绘图应用、表单构建器和交互式应用的理想选择。
  • 核心优势包括:高效内存的历史存储(仅保存差异)以及基于 Mutative 的快速不可变更新。
  • 支持自动存档模式(每次 setState 生成历史记录)和手动存档模式(将多次变更合并为一步撤销/重做操作)。
  • 提供完整的 API 方法,如 setState、back、forward、go、reset 和 subscribe 用于管理状态历史。
  • 要求状态必须可 JSON 序列化,不支持 Date、类实例和函数等复杂类型。
  • 内置 TypeScript 支持,可通过自定义逻辑扩展验证、权限控制、日志记录等功能。
  • 提供 React、Vue 和 Zustand 的集成示例,以及将历史记录持久化存储的解决方案。