当前位置 : 主页 > 网页制作 > React >

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

来源:互联网 收集:自由互联 发布时间:2021-06-15
我有一个使用react-navigation的React Native应用程序.在我的一个屏幕中,我正在使用相机读取QR码什么工作正常,但我必须使用setState({camera:false})来防止多次加载QR码.通常,它有效.即使从主菜单
我有一个使用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()
}
网友评论