我正在使用React Native应用程序。我有两个不同的屏幕,登录和注册。这两个组件都存在于不同的模块中。但是,当我在一个屏幕上的按钮上添加 onPress 道具时,它也会影响另一个屏幕。例如,如果我单击登录屏幕的按钮,它就是调用注册屏幕的功能,即使没有为登录屏幕按钮添加这样的事件。
请查看代码块,
LoginForm.js
<TouchableOpacity style={styles.buttonContainerRegister} onPress = {() => this.props.navigation.navigate('RegisterScreen')}>
<Text style={styles.buttonText}>REGISTER</Text>
</TouchableOpacity>
RegisterForm.js
<TouchableOpacity style={styles.buttonContainerRegister1} testID="test1" >
<Text style={styles.buttonText1} onPress = {Alert.alert("my")} >Register</Text>
</TouchableOpacity>
当我单击LoginForm.js的按钮时,它正在触发RegisterForm.js按钮的事件添加。
请帮助我解决此问题。任何帮助将不胜感激。
答案 0 :(得分:1)
在您的RegisterForm.js中,更改此设置。
onPress = {Alert.alert("my")} //Self invoking
对此
onPress = {() => Alert.alert("my")} //Requires a Press event