Mar*_*rác 5 react-native react-navigation
我有一个使用反应导航的 React Native 应用程序。在我的一个屏幕中,我使用相机读取二维码,效果很好,但我必须使用 setState({camera: false}) 来防止多次加载二维码。通常,它有效。即使从主菜单重新进入页面后也是如此。
问题是,当用户按下“<”按钮(iOS / 标题中)时,他应该使用相机重新进入页面。我找不到应该执行 setState({camera: true}) 的函数。如果没有反应导航,就有标准的生命周期(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
}
})
Run Code Online (Sandbox Code Playgroud)
然后我需要捕获屏幕 B 上的关闭事件,该事件基本上是 componentWillUnmount:
在 ScreenB 组件类中:
componentWillUnmount(){
this.props.navigation.state.params.onClose()
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7105 次 |
| 最近记录: |