更新类组件中的状态


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);
})
}