Profiler에서 보는 리렌더링 요인들

Tags
usage
요약

Hook @@ changed

  • 어떤 훅으로 인해 렌더링하게 되었는지 나타냄
notion image
 

First time the component rendered

  • 최초로 컴포넌트가 렌더링 되었음을 뜻함.
notion image
 

The parent component rendered

  • 부모 컴포넌트가 리렌더링 되어서 같이 리렌더링 되었음을 나타냄.
    • 자식 컴포넌트의 프롭이 바뀌는 상황이 아니라면, memoized를 활용하여 최적화 할 수 있다.
notion image
 

Props changed

  • 프로퍼티가 변경되어서 리렌더링 됨을 나타낸다.
    • 프로퍼티가 바뀐 것이 없다면 전달되는 콜백 함수가 useCallback으로 감싸져 있는지 확인해봐야 한다.
    • 아니면 memoized 시켜두었으나, 프롭이 항상 바뀌는 컴포넌트라고 한다면 불필요한 compare 알고리즘을 매번 수행한다는 뜻이므로 의미없는 memo 로직을 제거하기에도 좋다.
notion image