反应路由器冗余推送,状态更改重置



我有一个应用程序,它创建一个新记录并使用 react-redux-router push 将历史记录重定向到新记录页面。此重定向由另一个智能组件中的"智能组件"进行。

这些组件的状态存储在 redux 存储中。

重定向后,如果我返回上一页,它的状态是脏的。有没有办法重置状态?或者我应该在重定向之前手动清理它。

目前,我正在收听减速器LOCATION_CHANGE并重置它,但这似乎是手动和黑客。当组件的路由不再呈现时,不应该卸载组件吗?

我不清楚你的问题 - 你想要重置的状态是存储在该组件(setState(还是Redux存储中?

如果它位于该组件中,并且组件已卸载,则应自动重置其状态。

如果它位于 Redux 存储中,

那么 Redux 存储的全部意义在于它永久存在,存在于挂载的任何组件之外。在这种情况下,重置状态的一种常见方法是在组件的componentWillMount中调度清除或重置操作(即,组件确保它始终以良好状态启动(。

最新更新