setState

setState批量更新
问题
当在使用setState的时候,有时候会出现无法获取到更新后的状态这种情况 这个有时候指的什么时候呢
情况
当在react的合成事件,或者生命周期函数里调用setState时会出现state延迟更新的情况 但是在promise.then或者react原生事件、计时器中的回调以及其他微任务宏任务中调用setState并不会出现更新延迟的情况。
原因
因为合成事件生命周期函数都在react的执行上下文中, 但是在promise.then或者react原生事件、计时器中的回调以及其他微任务宏任务中,都是异步调用setState此时react的执行上下文已被释放,故不进行批量更新。 react18异步调用也会批量更新。 ReactDOM.flushSync()选择不进行批量更新

setState最先出现在Python成神之路

版权声明:
作者:zhangchen
链接:https://www.techfm.club/p/13727.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>