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

标签 reactjs redux react-router-v4

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

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

最佳答案

Since React v16componentWillUnmount 钩子(Hook)可以异步触发。

这意味着您无法对这些跨组件 Hook 的调用顺序(或时间安排)做出任何假设。

关于reactjs - 为什么 componentWillUnmount 在下一个组件 componentWillMount 之后触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47562821/

相关文章:

reactjs - 在 ReactMarkDown 中渲染 JSX

javascript - 如何处理 redux 应用程序中 react-router 路由中的无效 ID?

reactjs - React Redux 工具包 : TypeError: Cannot read property 'value' of undefined

javascript - React Router 如何匹配模糊路径和静态路径

reactjs - React Router 如何在动态路由需要参数的情况下返回 404 页面?

javascript - 如何使用链接标签

javascript - 数组映射 react 组件调用子函数

javascript - React Refactoring 组件有太多的 Prop

javascript - 处理状态更新对象

javascript - 如何在 React 中使用 # 个 url 来保存组件应用程序状态?