我相信,大部分的同学在日常编码中,都是使用useEffect(包括我自己),所以我对useLayoutEffect的认知其实一直很少,一直处于只是知道有这个hook的水平

最近在梳理react知识体系时,又发现了这个我一直似懂非懂的hook,这次我就专门好好研究了它,本篇文章就准备好好聊聊关于它和useEffect的东西,废话不多说,开搞!

ppx.jpg

什么是useEffect和useLayoutEffect

在讲它俩的区别之前,我们首先简单看下关于它们各自的定义与用法

useEffect和useLayoutEffect的区别

它俩的区别其实在我看来非常细微,但是实际效果却大不相同,如果不了解的情况下,错误使用它俩,很大概率会影响应用的性能与流畅度,下面就来说说它俩的区别

inte.jpg

它俩其实也就存在一个区别:调用时机不一样

由于它俩的执行时机不同,因此会造成不同的负面影响

6662.jpg

下面给出两个动图,直观感受下两个hook的效果区别

useEffect

image.gif

useLayoutEffect

image.gif