好吧,所以我有两个屏幕,当qrscanner读取qr时,它导航到InfoScreen,这一切都很好,但是问题是,即使屏幕是InfoScreen,如果相机指向了qr代码,它仍然会扫描。 / p>
我的问题是如何检查现在的屏幕应用程序是什么,这样我就可以在qrCodeOnReadHandler if(!qrscreen){return}
中编写类似的内容export default class Qr extends Component {
qrCodeOnReadHandler = ({ data }) => {
this.props.navigation.navigate("InfoScreen")
};
}
和
class InfoScreen extends Component {
render() {
return (
<View style={styles.buttons}>
<TouchableOpacity
style={styles.buttonStyle}
onPress={() => this.props.navigation.goBack()}
>
<Text style={styles.textStyle}>Back</Text>
</TouchableOpacity>
</View>
);
}
}
答案 0 :(得分:1)
您可以注册一个事件侦听器,该侦听器在组件聚焦或模糊时触发:
componentWillMount() {
this.props.navigation.addListener('willBlur', () =>this.doSomethingOnBlur());
this.props.navigation.addListener('onFocus', ()=>this.doSomethingOnFocus());
}
您可以在这里找到所有事件