setState同步还是异步的?
分版本来讲,在 react17 中,setState 是批量执行的,因为执行前会设置 executionContext。但如果在 setTimeout、事件监听器等函数里,就不会设置 executionContext 了,这时候 setState 会同步执行。可以在外面包一层 batchUpdates 函数,手动设置下 excutionContext 来切换成异步批量执行。
在react 18里都是异步的
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。