确定屏幕上的内容?
Determine what screen is on?
好的,所以我有两个屏幕,当 qrscanner 读取二维码时,它会导航到 InfoScreen,这一切都很好,但问题是即使屏幕是 InfoScreen,如果相机指向二维码,它仍然会扫描.
我的问题是如何检查现在的屏幕应用程序,以便我可以在 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>
);
}
}
您可以注册一个在组件聚焦或模糊时触发的事件侦听器:
componentWillMount() {
this.props.navigation.addListener('willBlur', () =>this.doSomethingOnBlur());
this.props.navigation.addListener('onFocus', ()=>this.doSomethingOnFocus());
}
您可以在这里找到所有活动
好的,所以我有两个屏幕,当 qrscanner 读取二维码时,它会导航到 InfoScreen,这一切都很好,但问题是即使屏幕是 InfoScreen,如果相机指向二维码,它仍然会扫描.
我的问题是如何检查现在的屏幕应用程序,以便我可以在 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>
);
}
}
您可以注册一个在组件聚焦或模糊时触发的事件侦听器:
componentWillMount() {
this.props.navigation.addListener('willBlur', () =>this.doSomethingOnBlur());
this.props.navigation.addListener('onFocus', ()=>this.doSomethingOnFocus());
}
您可以在这里找到所有活动