在您的代码中,回调函数内部的逻辑不会同步运行。this.generatePDFData(true)
执行前未完成this.setState({ generateGraphTableforPDF: false })
您的逻辑流程应该看起来像这样,因此所有过程都在执行下一步之前完成:
handleChangeOrWhateverFunction = () => {
this.setState({
generateGraphTableforPDF: true
})
}
componentDidUpdate(prevProps, prevState){
if(this.state.generateGraphTableforPDF && prevState.generateGraphTableforPDF !== this.state.generateGraphTableforPDF){
this.generatePDFData(true)
}
}
generatePDFData = (boolean) => {
...pdf generating logic
this.setState({
generateGraphTableforPDF: false
})
}