useEffect和useLayoutEffect的延迟、同步是什么意思?

哈喽,大家好呀,我是前端理想哥,今天,我们来聊聊useEffect和useLayoutEffect的延迟和同步的概念。

用过这两个API的同学,应该都知道这两者在执行时机上的区别,还不了解的同学可以详细去看下。

useEffect 的执行时机是组件渲染到屏幕之后延迟执行,而 useLayoutEffect 的执行时机是在所有的DOM变更之后同步调用effect

今天, 我们重点来聊聊这里的延迟和同步到底是什么意思。

所谓的延迟和同步,其实指的就是react的任务调度

useEffect中的延迟执行,指的是effect会在组件渲染任务调度函数结束后,再单独调用一次任务调度函数,这样做的好处就是,effect的调用可以单独进行,不会加长组件渲染的任务时间,也就不会阻碍组件的渲染了。

useLayoutEffect的同步,指的是,effect和组件渲染是在一个任务调度内,组件渲染完了后,立马开始同步进行effect的执行了。这样做主要是为了让你可以实现一些需要立即执行的功能,但是会加长组件渲染的任务时间,会阻碍组件的渲染。

所以,大多数情况下,如果不是必须的,还是建议大家使用useEffect,避免对组件更新造成阻塞。

以上,就是所有内容了,我们讲了useEffect和useLayoutEffect的延迟、同步的概念,如果您觉得对您有帮助,欢迎给理想哥一个关注,万分感谢大家

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值