跳至主要内容

[react] React useLayoutEffect

useEffect

如果在頁面初始化的時候需要動態的去設定元素的 style,例如 top px,用 useEffect 來處理的話元素一開始會出現在原本的位置,之後才到指定的位置,這是因為 useEffect 會在 DOM 生成完畢後才 Effect

即時編輯器
結果
Loading...

可以看到下圖元素會有閃爍的問題,這是因為一開始該元素會在原始的位置,在 DOM 渲染完以後才會到指定位置,這是使用 useEffect 的效果。

Image

useLayoutEffect

而 useLayoutEffect 則是在 DOM 生成前就 Effect,所以可以避免上面的情況發生。

即時編輯器
結果
Loading...

Image