private readonly maxSizeOfDownloadedFiles: number = 1000000;
state = {
totalSum: this.maxSizeOfDownloadedFiles
};
handleCallback = () => {
this.setState({ totalSum: 12 })
alert('totalSum ' + this.state.totalSum);
};
当我运行handleCallback方法时,它不会更新totalSum并给我默认值,警报显示totalSum 1000000不是12。那么为什么setState不起作用呢?
您可以使用setState({} ,() => {})
中的回调方法,该方法在状态更新后立即被调用。
private readonly maxSizeOfDownloadedFiles: number = 1000000;
state = {
totalSum: this.maxSizeOfDownloadedFiles
}
handleCallback = () => {
this.setState({ totalSum: 12}, () => {
alert('totalSum ' + this.state.totalSum);
})
}