gpt4 book ai didi

javascript - 如何在React Native中从另一个函数调用一个函数

转载 作者:行者123 更新时间:2023-12-03 02:19:18 33 4
gpt4 key购买 nike

这可能是一个简单的问题,但由于我是原生 react 新手,这对我来说似乎并不容易。我想从另一个函数(this.funcToSumbitWithValidations)调用一个函数(this.FunctionToOpenSecondActivity),但它没有调用,没有错误。此外,当我调用另一个警报或它也在调用的东西时但是,当我直接调用它时,它工作正常。这是我的代码:-

//ForgotPasswordActivity
class ForgotPasswordActivity extends Component {
static navigationOptions =
{
title: 'ForgotPasswordActivity',
};
constructor(props) {
super(props);
this.state = { email: '' };

}
FunctionToOpenSecondActivity = () => {
this.props.navigation.navigate('otp');
}
testfunc() {
Alert.alert('testttinnn');
}

funcToSumbitWithValidations = (text) =>{
if(this.state.email==""){
Alert.alert("field cannot be empty");
}else if(this.validate(this.state.email)){
this.testfunc;
this.FunctionToOpenSecondActivity;

}
}
validate = (text) => {
let reg = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
if (reg.test(text) === false) {
Alert.alert("Email is Not Correct");
this.setState({ email: text })
return false;
}
else {
this.setState({ email: text })
Alert.alert("Email is Correct");
return true;
}
}
render() {
return (
<View style={styles.container}>
<Image
style={styles.stretch}
source={require('./img/login-screen.jpeg')}
/>
<Text style={styles.txtstyle}>
Retrieve Your OTP
</Text>
<TextInput
style={styles.edittext}
placeholder={'Enter email'}
placeholderTextColor={'white'}
inlineImageLeft='icons_gmail'
inlineImagePadding={20}
onChangeText={(email) => this.setState({ email })}
/>
<TouchableOpacity onPress={this.funcToSumbitWithValidations}>
<Image
style={styles.btnLg}
source={require('./img/getotp.jpg')}
/>
</TouchableOpacity>


</View>
);
}
}

最佳答案

首先,当您在函数中访问“this”时,在构造函数中绑定(bind)FunctionToOpenSecondActivity来访问 this 的范围。喜欢:

   this.FunctionToOpenSecondActivity = this.FunctionToOpenSecondActivity.bind(this);

然后像这样调用:- this.FunctionToOpenSecondActivity();

关于javascript - 如何在React Native中从另一个函数调用一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49234996/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com