首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

useEffect 一定在页面渲染才会执行吗?

但事实并非如此,useEffect 并不总是在页面渲染完才会被异步调用,有时也许会在页面渲染前同步调用执行 effect callback。...再之后,伴随着 microTask 执行完毕浏览器会执行页面渲染,渲染完成后会取出 macroTask 中的 setTimeout Callback 来执行,也是就控制台会输出 4。...Demo4: useEffect Callback 渲染执行 在上述的 Click Event 中 useEffect Callback 即使组件 render 中存在长时间 block 的逻辑也会被在页面渲染前同步调用...其次输出 3,microTask 会在页面渲染前执行完毕。 之后输入 4,此时页面已经渲染完成了,会执行 macroTask。...即使你的 Effect 是由于用户产生交互行为而被执行(比如点击事件的状态改变执行 Effect,类似于最后一个 Demo 中),React 也可能会在 Effect 执行之前重新绘制屏幕(先进行页面渲染

12110
领券