InterviewHubPRO
Section Overview
Q290

Question 290 of 445

Part 9: React Hooks Deep Dive (262 - 316)

65%
React & Modern Frontend (445 Qs)•Part 9: React Hooks Deep Dive (262 - 316)

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.

js
useLayoutEffect(() => {
 const width = divRef.current.offsetWidth;
 if (width < 400) {
   divRef.current.style.background = 'blue'; // prevents flicker
 }
}, []);