icon

메티의 블로그

useEffect 와 useLayoutEffect 차이

useEffect 와 useLayoutEffect 차이

Tags
React
날짜
Feb 1, 2023
상태
공개
한 줄 요약: useEffect 는 CRP 에서 layout 과 paint 가 다 끝난 후 callback 함수가 실행되고, useLayoutEffect 는 layout 과 paint 사이에 callback 함수가 실행된다.
 
useEffect 는 화면에서 paint 과정이 모두 지난 후 콜백함수를 실행한다.
 
useLayoutEffect 는 화면에서 paint 가 되기 전에 layout 값을 확인하기 위해 사용하는 함수이다. layout
docs 에선 hover 시 툴 팁을 화면에 뿌려줄 때, paint 되기 전에 자신의 마우스 포인터가 어디에 있는 지에 따라 위치가 달라져야 하기 때문에 일어나는 일로 예시를 들었다.
 
결론
  1. component 의 크기에 직접 접근해서 paint 해야 할 필요가 있을 경우, useLayoutEffect를 사용한다.
  1. 하지만 react 에서는 성능 상의 이슈로 useLayoutEffect를 최대한 사용하지 않는 것을 권장하고 있다.
 

다음 포스트

icon

Margin Collapsing

CSS

이전 포스트

icon

CORS

Network