根据 医生的解释:
SetState ()不会立即变异 this.state,而是创建一个挂起的状态转换。在调用此方法后访问 this.state 可能会返回现有值。
不能保证调用 setState 的同步操作,为了提高性能,可能会对调用进行批处理。
因此,由于 setState()
是异步的,并且不能保证它的同步性能。是否有 setState()
的替代方案是同步的。
比如说
//initial value of cnt:0
this.setState({cnt:this.state.cnt+1})
alert(this.state.cnt); //alert value:0
由于 alert
值是以前的值,那么使用 setState()
给出 alert value:1
的替代方案是什么呢。
关于堆栈溢出的问题很少有类似于这个问题的,但是没有一个地方我能找到正确的答案。