Легко понять, почему, по сути, вы устанавливаете значение в своем штате напрямую, вы должны сделать это, используя setState()
, как указано в документации
Ваш код:
if(data===undefined){
this.state.invoiceResultFlag=true;
}
else {
this.state.invoicedisplayFlag=true;
}
но должно быть:
if(data===undefined){
this.setState({invoiceResultFlag: true})
}
else {
this.setState({invoicedisplayFlag: true});
}
еще одна вещь, которую я заметил, это то, что вы хотите установить состояние после того, как вы установили состояние, тогда вы можете использовать обратный вызов из setState()
this.setState({items:data}, ()=>{
if(data===undefined){
this.setState({invoiceResultFlag: true})
}
else {
this.setState({invoicedisplayFlag: true});
}
});
и, наконец, мне лично не нравятся эти 2 setState, было бы проще сделать все это в одном месте:
this.setState({
items:data,
invoiceResultFlag: !data,
invoicedisplayFlag: !!data,
});