先看一段代码from深入React技术栈P167
说起setState的异步,很多人都会说,setState以后react并没有立即更新state,而是处于pending状态,然后会将多次state的更新合并为一次来提高效率。那么,什么时候会处于pending状态,什么时候会跳出pending状态来合并进行state更新,总不至于是通过定时吧,那是怎么实现的呢?
现在看代码,首先从结果可以看出来前两次setState中state的更新是合并为一次的,合并更新以后val=1
。而后两次setState是没有合并的,即不是异步而是同步的。
未完待续