react 中的setState是同步还是异步的?

118 阅读1分钟

setstate本身的方法调用是同步的,但是调用了setstate并不标志着react的state立马就更新,这个更新需要根据当前执行环境的上下文来判断的,如果当前处于批量更新的情况下,那么state不是当前立马更新;如果不处于批量更新的情况下,那么就有可能是立马更新。为什么说是有可能呢?因为现在有async mode这种异步渲染的情况,如果处于这种异步渲染的情况,那么state也不是立即更新的。