加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

react-native – 反应导航和组件生命周期

发布时间:2020-12-15 16:18:31 所属栏目:百科 来源:网络整理
导读:我有一个使用react-navigation的React Native应用程序.在我的一个屏幕中,我正在使用相机读取QR码什么工作正常,但我必须使用setState({camera:false})来防止多次加载QR码.通常,它有效.即使从主菜单重新进入页面后也是如此. 用户按’'时遇到麻烦按钮(iOS /在
我有一个使用react-navigation的React Native应用程序.在我的一个屏幕中,我正在使用相机读取QR码什么工作正常,但我必须使用setState({camera:false})来防止多次加载QR码.通常,它有效.即使从主菜单重新进入页面后也是如此.

用户按’<'时遇到麻烦按钮(iOS /在标题中),他应该用相机重新进入页面.我无法找到我应该做setState({camera:true})的函数.没有react-navigation,就有标准生命周期(componentWillMount,...),但在这种情况下,我无法找到放置代码的位置,因此我可以检测到该页面已重新输入. 我知道https://github.com/react-community/react-navigation/issues/51但我仍然错过了解决方案.

解决方法

我有一个类似的问题,我有屏幕A打开屏幕B,我想捕捉事件,我将从B回到屏幕A.

我最好的猜测是通过导航功能从屏幕A向B发送回调:

this.props.navigation.navigate("ScreenB",{
   onClose : ()=>{
      // update your state to open back the camera
   }
})

然后我需要捕获屏幕B上的结束事件,它基本上是componentWillUnmount:

在ScreenB组件类中:

componentWillUnmount(){
   this.props.navigation.state.params.onClose()
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读