为什么在下一个组件componentWillMount之后触发componentWillUnmount?

时间:2017-11-29 22:21:53

标签: reactjs redux react-router-v4

我有一个带有两个组件的React / Redux应用程序。当第一个组件卸载时,我需要清除一部分redux状态,因为第二个组件将以该形式的状态出错。我尝试在第一个组件卸载时调度清除状态块的操作,但第二个组件在调用第一个组件componentWillUnmount方法之前开始安装。当我在redux-logger中查看调度的操作时,我看到第二个组件从componentWillMount调度操作,然后调用前一个组件中的componentWillUnmount个操作。

这不是预期的行为吗?我也在使用react-router v4。谢谢!

1 个答案:

答案 0 :(得分:2)

Since React v16componentWillUnmount挂钩可以异步触发。

这意味着您不能对这些钩子跨组件的调用顺序(或时间)做出任何假设。