React-Native中使用react-navigation,A跳转到B时未触发A的componentWillUnmount?

在React-Native的项目中使用组件react-navigation进行页面路由管理,

在A组件的componentDidMount中开启一个定时器,并在componentWillUnmount中进行清除。

A页面使用this.props.navigation.navigate('B')跳转到B页面后,发现componentWillUnmount未被执行

对于该组件的问题网上有如下回答:

Navigator uses stack to manager route. When you push a new page,
current page wont unmount, if you pop from new page to the current
page, the new page will unmount. And in other scene, if you render
some child component based on some regulation like isLoading or other,
the componentWillUnmount method will also be called when they no
longer need to be rendered.

react-navigation组件中存在这样的天然缺陷,不知各位如何应对componentWillUnmount生命周期未调用的场景

阅读 8.1k
2 个回答

此问题是关于清除页面componentDidmount中开启的定时器。
现在曲线救国,使用全局单例倒计时,并在唯一没有使用倒计时的页面清除该全局倒计时

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏