According to the explaination in the docs:
setState() does not immediately mutate this.state but creates a pending state transition. Accessing this.state after calling this method can potentially return the existing value.
There is no guarantee of synchronous operation of calls to setState and calls may be batched for performance gains.
So since setState()
is asyncronous and there is no guarantee about its synchronous performance. Is there an alternative of setState()
that is syncronous.
For example
//initial value of cnt:0
this.setState({cnt:this.state.cnt+1})
alert(this.state.cnt); //alert value:0
Since the alert
value is previous value so what is the alternative that will give alert value:1
using setState()
.
There are few questions on Stackoverflow which is similar to this question but no where I am able to find the correct answer.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…