假设操作创建者(或中间件)具有启动服务的副作用:service.start()
。
redux devtools的禁用操作功能会恢复由于该特定操作而导致的状态更改。我们如何确保副作用也被恢复,在上面的例子中,这意味着调用service.stop()
?我想需要的是一个状态观测器,但我不确定这是否是实现它的通量/冗余方式。
你不能这么做。Redux中没有恢复副作用的方法(例如,如何"撤消"GET请求?)。
最终,副作用不应该影响应用程序,除非它们最终产生操作。(例如,GET请求最终会产生一个带有响应的操作。)当有操作时,它们可以被恢复。
所以你不能恢复副作用,但这无论如何都不重要。您可以恢复作为结果分派的操作,并且除了操作之外什么都不能更改应用程序的状态。