如何使用redux处理连续或快速重复的操作

如何使用redux处理连续或快速重复的操作,redux,Redux,我正试图说明在Redux中处理连续、快速重复操作的最佳方法 比如说,我有一系列表示RGB值的滑块,我的状态的一个组件是Color,它是通过这些滑块的操作设置的 用户可以在滑块上来回飞行,如果每次更改都触发一个新动作,那么滑块可能会出现口吃。例如,用户可能正在操纵红色滑块。如果值为0.5,则可以调度一个操作,并且用户会一直快速滑动到1.0。当状态更新返回时,用户为1.0,但状态更新为0.5,紧接着是1.0事件 结果将是一个滑块旋钮,它先向后跳,然后向前跳。为了回答这个问题,让我们假设情况就是这样

我正试图说明在Redux中处理连续、快速重复操作的最佳方法

比如说,我有一系列表示
RGB
值的滑块,我的状态的一个组件是
Color
,它是通过这些滑块的操作设置的

用户可以在滑块上来回飞行,如果每次更改都触发一个新动作,那么滑块可能会出现口吃。例如,用户可能正在操纵
红色
滑块。如果值为0.5,则可以调度一个操作,并且用户会一直快速滑动到1.0。当状态更新返回时,用户为1.0,但状态更新为0.5,紧接着是1.0事件

结果将是一个滑块旋钮,它先向后跳,然后向前跳。为了回答这个问题,让我们假设情况就是这样

不管怎么说,我很好奇如何防止这样的事情。我的第一反应是去抖动动作,让视图相应地更新它的表示。然后,当取消公告的操作最终触发时,这意味着用户已停止,因此当
Color
的新值从该状态传入时,它们将相等,看起来没有任何变化


这是处理这样的事情的正确方法还是我遗漏了什么?

是的,通过组件状态在本地处理更新并取消发布Redux操作是绝对可行的策略。实际上,我在我的博客文章中讨论了这一点,我展示了一个可重用的通用表单输入缓冲组件,它可以为您处理这一问题