调用另一个props函数后如何获得props结果(反应)

时间:2018-07-24 06:48:52

标签: reactjs react-props react-component

在以下情况下我有错误: 每当我在输入框中键入一个单词而没有触发onBlur函数时,我都会单击按钮。然后,代码将执行_continue函数,然后在verify处调用B.tsx函数。

B.tsx处运行完验证函数后,代码未获得以下参数(this.props.validationSucceed and this.props.noEror)的结果。

我想在_continue函数中检索正确的结果。我尝试在chrome开发人员工具中对其进行调试,该代码无法执行this._nextSection函数,因为它尚未从props.validationSucceddprops.noError获得结果。

(注意:如果在触发输入框的模糊功能然后单击按钮之后,代码确实会获取参数(this.props.validationSucceedthis.props.noEror)的道具结果。)

A.tsx

_continue(){
  this.props.verify();
  if(this.props.validationSucceed && !this.props.noError){
     this._nextSection();
  }
}

verifyInformation(){
  this.props.verify();
}
render(){
   <input onBlur={this.props.verifyInformation}>
   <button type="button" className={button} 
      onClick={() => this._continue(1)}>Next</button>
}

B.tsx

render(){
  return(
      <component verify={this.state.verify} validationSucceed={this.state.validationSucceed} noError={this.state.noError}>
  )
}
constructor(props){
       super(props);
}
verify(){ 
    if(!data.error) {
        this.setState({validationSucceed: true, noError: false});
        this.otherFunction()
    } else {
        this.setState({validationSucceed: false, noError: true });
    }
}

0 个答案:

没有答案