FrontendDeveloper.in

React question detail

What are the usecases of useLayoutEffect?

You need to use useLayoutEffect when your effect must run before the browser paints, such as:

  • Reading layout measurements (e.g., element size, scroll position)
  • Synchronously applying DOM styles to prevent visual flicker
  • Animating layout or transitions
  • Integrating with third-party libraries that require DOM manipulation

If there's no visual or layout dependency, prefer useEffect — it's more performance-friendly.

useLayoutEffect(() => {
const width = divRef.current.offsetWidth;
if (width < 400) {
divRef.current.style.background = 'blue'; // prevents flicker
}
}, []);
Back to all React questions
Get LinkedIn Premium at Rs 399