redux - Redux 有内置的撤销操作的方法吗?

标签 redux

我正在构建一个应用程序,在用户向下滚动时执行操作。如果我可以在用户再次向上滚动时撤消这些操作,基本上将滚动变成浏览操作时间线的一种方式,那就太好了。

Redux 中是否有内置的方法来做到这一点?或者我必须为此编写中间件吗?

最佳答案

我相信这个想法与其说是“撤消”,不如说是每次操作通过 redux 时保存对整个状态树的引用。

您将拥有一个由不同时间的应用程序状态组成的历史堆栈。

let history = [state1, state2, state3]

// some action happens

let history = [state1, state2, state3, state4]

// some action happens

let history = [state1, state2, state3, state4, state5]

// undo an action

let history = [state1, state2, state3, state4]

state = state4

要“撤消”操作,只需将应用程序状态替换为保存的状态之一。

这可以通过支持结构共享的数据结构来提高效率,但在开发中我们实际上并不需要过多考虑资源约束。

关于redux - Redux 有内置的撤销操作的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32526211/

相关文章:

javascript - 在 React 中获取目标 html 元素的颜色

javascript - 出现错误 TypeError : Cannot read property 'id' of undefined using React/Redux action

javascript - Redux 中间件异步函数

javascript - 如何使用 React 动态处理多个过滤器?

javascript - Redux - 了解返回函数的高级 mapStateToProps

reactjs - 如何在另一个操作成功后调用 redux 操作?

javascript - 使用 Redux 的 connect 来连接各种组件

javascript - 类型错误 : Cannot read property 'name' of null in react with redux

javascript - this.props.dispatch().then 不是一个函数

reactjs - 无法读取未定义的属性 'setData' - react 触摸事件