Skip to content

Latest commit

 

History

History
18 lines (16 loc) · 1.12 KB

useMemo와 useCallback에 대해 설명해주세요..md

File metadata and controls

18 lines (16 loc) · 1.12 KB

공통점

  • 성능 최적화를 위해 메모이제이션(Memoization)을 목적으로 사용
  • useMemo: 계산 비용이 높은 연산값을 저장
  • useCallback: 함수 자체를 저장

useMemo

  • 특정 값이나 계산 결과를 메모이제이션
  • 계산에 영향을 주는 dependencies가 변경되지 않으면 재연산을 진행하지 않고 이전에 계산한 값을 반환
  • 불필요한 재계산 방지
  • [사용 경험] 배열의 filter 값을 메모이제이션할 때 사용
    • dependencies에 필터링 조건을 추가하여, 필터링 조건이 변할 때만 다시 실행되고 필터링 조건이 변하지 않으면 이전값 사용

useCallback

  • 함수를 메모이제이션
  • 불필요한 함수 재생성 방지
  • 함수의 dependencies가 변경되지 않으면 새로운 함수를 생성하지 않고 이전에 생성한 함수를 반환
  • [사용 경험] custom hook에서 함수를 반환할 때 사용
    • custom hook을 사용하는 컴포넌트의 상태가 변경되어 재렌더링될 때마다 hook이 다시 실행되면서 불필요하게 함수를 재생성하지 않도록 사용