모던 리액트 Deep Dive - 메모이제이션

2025. 10. 14. 21:16·Study/모던 리액트 Deep Dive

⚡리액트 핵심요소 깊게 살펴보기 - 2.5 컴포넌트와 함수의 무거운 연산을 기억해두는 메모이제이션

리액트에서 제공하는 API 중 useMemo, useCallback, memo는 리액트에서 발생하는 렌더링을 최소한으로 줄이기 위해서 제공되는데, 정확히 언제 사용하는 것이 좋을까?

2.5.1 주장1 : 섣부른 최적화는 독이다, 꼭 필요한 곳에만 메모이제이션을 추가하자

  • 꼭 필요한 곳을 신중히 골라서 메모이제이션해야 함
  • 메모이제이션도 어디까지나 비용이드는 작업이므로 최적화에 대한 비용을 지불할 때는 항상 신중해야 함

2.5.2 주장2 : 렌더링 과정의 비용은 비싸다, 모조리 메모이제이션 해버리자

  • 리액트는 이전 렌더링 결과를 다음 렌더링과 구별하기 위해 저장해 둬야 하는데, 기본적인 리액트의 재조정 알고리즘이기 때문
  • 이전 결과물은 어떻게든 저장해두고 있기 때문에 우리가 memo로 지불해야하는 비용은 props에 대한 얕은 비교뿐인 것
  • 리렌더링이 발생할 때 메모이제이션이 없다면 모든 객체는 재생성되고, 결과적으로 참조는 달라지게 됨
  • 메모이제이션은 하지 않는 것보다 메모이제이션 했을 때 더 많은 이점을 누릴 수 있음

'Study > 모던 리액트 Deep Dive' 카테고리의 다른 글

모던 리액트 Deep Dive - 리액트 훅과 고차 컴포넌트  (0) 2025.11.01
모던 리액트 Deep Dive - 리액트 훅  (1) 2025.10.22
모던 리액트 Deep Dive - 렌더링  (0) 2025.10.14
모던 리액트 Deep Dive - 컴포넌트  (0) 2025.10.07
모던 리액트 Deep Dive - 가상 DOM과 리액트 파이버  (0) 2025.09.30
'Study/모던 리액트 Deep Dive' 카테고리의 다른 글
  • 모던 리액트 Deep Dive - 리액트 훅과 고차 컴포넌트
  • 모던 리액트 Deep Dive - 리액트 훅
  • 모던 리액트 Deep Dive - 렌더링
  • 모던 리액트 Deep Dive - 컴포넌트
happy_dev
happy_dev
복사하고 붙여넣기 잘하고 싶어요
  • happy_dev
    happy의 개발일지
    happy_dev
  • 전체
    오늘
    어제
    • 전체 (43)
      • Java (0)
      • React (1)
      • DB (1)
      • Study (41)
        • 친절한 SQL 튜닝 (9)
        • 모던 리액트 Deep Dive (18)
        • 젠킨스로 배우는 CI,CD 파이프라인 구축 (14)
        • Studyd (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    oracle
    SQL
    젠킨스
    DB
    인덱스의기본
    리액트
    조인
    Jenkins
    toad
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
happy_dev
모던 리액트 Deep Dive - 메모이제이션
상단으로

티스토리툴바