Javascript 如何在react native中从另一个函数调用一个函数
这可能是一个简单的问题,但由于我是一个新手,对我来说似乎并不容易。 我想从另一个函数(this.FunctionToOpenSecondActivity)调用一个函数(this.FunctionToOpenSecondActivity),但它没有调用,没有任何错误。 此外,当我呼叫另一个警报或其他东西时,它也在呼叫 然而,当我直接调用它时,它工作得非常好。 这是我的密码:-Javascript 如何在react native中从另一个函数调用一个函数,javascript,function,react-native,Javascript,Function,React Native,这可能是一个简单的问题,但由于我是一个新手,对我来说似乎并不容易。 我想从另一个函数(this.FunctionToOpenSecondActivity)调用一个函数(this.FunctionToOpenSecondActivity),但它没有调用,没有任何错误。 此外,当我呼叫另一个警报或其他东西时,它也在呼叫 然而,当我直接调用它时,它工作得非常好。 这是我的密码:- //ForgotPasswordActivity class ForgotPasswordActivity extends
//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>
);
}
}
//放弃密码活动
类ForgotPasswordActivity扩展组件{
静态导航选项=
{
标题:“ForgotPasswordActivity”,
};
建造师(道具){
超级(道具);
this.state={电子邮件:'};
}
FunctionToOpenSecondActivity=()=>{
this.props.navigation.navigate('otp');
}
testfunc(){
Alert.Alert('testttinnn');
}
funcToSumbitWithValidations=(文本)=>{
if(this.state.email==“”){
警报。警报(“字段不能为空”);
}else if(this.validate(this.state.email)){
this.testfunc;
这是第二次活动;
}
}
验证=(文本)=>{
设reg=/^\w+([\.-]?\w+*@\w+([\.-]?\w+*(\.\w{2,3})+$/;
如果(注册测试(文本)==false){
警惕。警惕(“电子邮件不正确”);
this.setState({email:text})
返回false;
}
否则{
this.setState({email:text})
警惕。警惕(“电子邮件是正确的”);
返回true;
}
}
render(){
返回(
取回你的OTP
this.setState({email})}
/>
);
}
}
首先,在访问函数中的“this
”时,将构造函数中的函数绑定到opensecondActivity
,以访问此函数的作用域。
比如:
然后像这样调用:-
this.FunctionToOpenSecondActivity()代码>在函数调用中丢失()
。括号执行functions@MdSaeed如果答案对你有帮助,你能接受吗。
this.FunctionToOpenSecondActivity = this.FunctionToOpenSecondActivity.bind(this);