gpt4 book ai didi

javascript - 将 redux 操作拼接到历史中

转载 作者:行者123 更新时间:2023-12-03 03:41:58 25 4
gpt4 key购买 nike

Redux 树几乎是一个操作列表以及从这些操作派生的状态。
像这样的事情:

{ type: "INIT", number: 2 }
{ type: "ADD", addend: 4 }
{ type: "MULTIPLY", factor: 2 }
{ type: "SUBTRACT", subtrahend: 3 }

store.getState() // returns { number: 9 }

我正在摆弄的项目需要允许拼接一个新操作到该日志的中间。例如,在 MULTIPLY 之后、SUBTRACT 之前添加“除以四”。该操作需要插入历史记录中,然后重播任何后续操作。

这个“计算器”示例绝对经过简化,但希望您能明白其中的意思。

这是 Redux 的有效用例吗?是否有一个库或通用技术在设计时考虑到了这种类型的操作流程?

最佳答案

昨天看到你在 Reddit 上问了这个问题,并且I already answered it there ,但为了完整性,我将在此处包含答案:

是的,有几个现有的 Redux 插件库可用于处理撤消/重做类型的功能。请参阅Use Cases#Undo/Redo我的部分Redux addons catalog

虽然我自己没有使用过其中任何一个,但我怀疑与您的用例最相关的一个是 Microsoft 推出的一个名为 redux-dag-history 的库。 。不幸的是,该库似乎没有特别详细的文档,但作者确实写了 a blog post discussing the concepts behind the library .

您还可以查看 Redux DevTools store enhancer 的内部实现,它基本上完成此类工作,但实际上仅用于开发用途。您可以重用它,或修改它以更好地适合您的用例。

关于javascript - 将 redux 操作拼接到历史中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45571809/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com