react-router-redux push,状态改变复位

时间:2017-03-20 17:24:52

标签: reactjs react-router react-router-redux

我有一个创建新记录的应用程序,并使用react-redux-router push将历史记录重定向到新记录页面。这种重定向是由另一个智能组件内的“智能组件”完成的。

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

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

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

1 个答案:

答案 0 :(得分:2)

我的问题不清楚 - 您希望重置存储在该组件(setState)内还是Redux商店内的状态?

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

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