Javascript 如何在react native中从另一个函数调用一个函数

Javascript 如何在react native中从另一个函数调用一个函数,javascript,function,react-native,Javascript,Function,React Native,这可能是一个简单的问题,但由于我是一个新手,对我来说似乎并不容易。 我想从另一个函数(this.FunctionToOpenSecondActivity)调用一个函数(this.FunctionToOpenSecondActivity),但它没有调用,没有任何错误。 此外,当我呼叫另一个警报或其他东西时,它也在呼叫 然而,当我直接调用它时,它工作得非常好。 这是我的密码:- //ForgotPasswordActivity class ForgotPasswordActivity extends

这可能是一个简单的问题,但由于我是一个新手,对我来说似乎并不容易。 我想从另一个函数(this.FunctionToOpenSecondActivity)调用一个函数(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>
);
  }
}
//放弃密码活动
类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);