react-router-redux 推送,状态更改重置

react-router-redux push, state change reset

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

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

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

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

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

如果它在该组件内,并且该组件已卸载,那么它的状态应该会自动重置。

如果它在 Redux store 中,那么 Redux store 的全部意义在于它持久存在,在安装的任何组件之外。在这种情况下,一种常见的重置状态的方法是在组件的 componentWillMount 中发送清除或重置操作(即,组件确保它始终以良好状态开始)。