피드로 돌아가기
Tối Ưu Hiệu Suất Ứng Dụng React: Đừng Để App Chạy Như 'Rùa Bò'!
Dev.toDev.to
Frontend

불필요한 Re-render 제거를 통한 React UI 렌더링 최적화 전략

Tối Ưu Hiệu Suất Ứng Dụng React: Đừng Để App Chạy Như 'Rùa Bò'!

ITPrep2026년 5월 7일7intermediate

Context

React의 선언적 UI 렌더링 특성상 Component Tree가 깊어질수록 불필요한 Re-render가 빈번하게 발생함. 특히 무거운 연산이 Render 함수 내에 직접 포함되거나 Props 참조값이 매번 변경될 때 CPU 부하 증가 및 UI 렉 현상이 초래됨.

Technical Solution

  • React.memo 도입을 통한 Props 변경 없는 Functional Component의 리렌더링 차단
  • useCallback 활용으로 함수 참조값 유지 및 하위 Component의 불필요한 갱신 방지
  • useMemo 적용을 통한 고비용 연산 결과의 캐싱 및 CPU 자원 낭비 최소화
  • React.lazy와 Suspense 기반의 Code Splitting으로 초기 Bundle 크기 최적화 및 Lazy Loading 구현
  • Windowing 기법을 이용해 Viewport 내 가시 영역만 렌더링하는 Virtualization 구조 설계
  • Context API 세분화를 통한 Provider 변경 시 영향 범위 제한 및 State 전파 최적화

- React DevTools Profiler의 Flamegraph를 통한 렌더링 병목 지점 정밀 측정 - Object/Array를 Props로 전달 시 Inline 선언을 지양하고 변수 외부 선언 또는 Memoization 적용 - List 렌더링 시 Index 대신 고유 ID를 Key로 사용하여 DOM Node 추적 효율성 확보 - Premature Optimization을 경계하며 성능 측정 데이터 기반의 선택적 최적화 수행

원문 읽기