我们正在使用react-connected-router
,并且在我们的反应页面组件中,我们从服务器获取状态,并调度操作以更新 Redux 状态(我们只是使用钩子,没有 thunk 或 saga 中间件)。
但是,当我们使用redux devtools进行时间旅行调试时,当我们回退到相应的状态时,组件会再次派发动作......
我不想在进行时间旅行调试时分派新动作。
老实说,除了在我的组件中渲染之外,我从不想做任何事情,我通常在事件处理程序(如 click)中进行异步获取,但这种方法不适用于 React Router。理想情况下,当用户更改浏览器历史记录时,应该触发一些事件,并且应该通过处理该事件来完成异步获取,而不是在呈现页面组件时,但我找不到有关如何执行此操作的文档。
我的一般问题是,如何编写与 devtools 时间旅行调试器完美配合的代码,以便在重放状态时不会调度新操作?
据我了解,像 Redux thunk 或 saga 这样的中间件也不能解决这个问题,除非 devtools 在进行时间旅行调试时会完全忽略调度的 Redux thunk。也许已经是这样了,我应该只使用这些中间件