在以下情况下我有错误:
每当我在输入框中键入一个单词而没有触发onBlur
函数时,我都会单击按钮。然后,代码将执行_continue
函数,然后在verify
处调用B.tsx
函数。
在B.tsx
处运行完验证函数后,代码未获得以下参数(this.props.validationSucceed and this.props.noEror
)的结果。
我想在_continue函数中检索正确的结果。我尝试在chrome开发人员工具中对其进行调试,该代码无法执行this._nextSection
函数,因为它尚未从props.validationSuccedd
和props.noError
获得结果。
(注意:如果在触发输入框的模糊功能然后单击按钮之后,代码确实会获取参数(this.props.validationSucceed
和this.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 });
}
}