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

연관 포스트