我需要在对 componentDidMount 函数的请求完成后才调用我的组件的渲染函数。
componentDidMount(){
let ctx = this;
ApiService.get('/busca/empresa/pagina').then(function(response){
if(response.data.empresa){
ctx.setState({company:response.data.empresa});
ctx.getProducts();
ctx.verifyAuthentication();
}
}, function(error){
Notification.error('HTTP Status: ' + error.response.status + ' - ' + error.response.data.mensagem);
});
}
问题是当打开页面时,渲染函数在 componentDidMount 完成之前被调用。总是从 else 条件(renderNotValidateCompany)返回函数并在更新 this.state.company 后返回 renderValidateCompany。
render(){
if(this.state.company){
return this.renderValidateCompany();
}else{
return this.renderNotValidateCompany();
}
}
是否有可能仅在react中完成 componentDidMount 时才调用渲染?
谢谢!