假设某个动作创建者(或中间件)具有启动服务的副作用:service.start()
。
redux-devtools的禁用操作功能会因特定操作而恢复状态更改。我们如何确保副作用也被还原,在上面的示例中意味着调用service.stop()
?我想我们需要的是一个州的观察者,但我不确定这是否是实施它的flux / redux方式。
答案 0 :(得分:4)
你不能这样做。在Redux中无法恢复副作用(例如,如何“撤消”GET请求?)。
最终副作用不应影响应用程序,除非它们最终产生动作。 (例如,GET请求最终会产生一个带有响应的动作。)当有动作时,它们可以被还原。
所以你无法恢复副作用,但无论如何这都无关紧要。您可以还原作为结果分派的操作,除了操作之外的任何操作都可以更改应用程序的状态。