我有一个包含两个组件的 React/Redux 应用程序。当第一个组件卸载时,我需要清除一部分 redux 状态,因为第二个组件会因该形式的状态而出错。我尝试在第一个组件卸载时分派(dispatch)一个清除状态 block 的操作,但第二个组件在调用第一个组件 componentWillUnmount
方法之前开始安装。当我在 redux-logger 中查看分派(dispatch)的操作时,我看到第二个组件从 componentWillMount
分派(dispatch)操作,然后从调用的前一个组件中分派(dispatch) componentWillUnmount
操作。
这不是预期的行为,是吗?我也在使用react-router v4。谢谢!
最佳答案
Since React v16 ,componentWillUnmount
钩子(Hook)可以异步触发。
这意味着您无法对这些跨组件 Hook 的调用顺序(或时间安排)做出任何假设。
关于reactjs - 为什么 componentWillUnmount 在下一个组件 componentWillMount 之后触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47562821/