React Native 성능 최적화는 불필요한 re-render 최소화, 효율적인 목록, JS 스레드 작업과 bridge 트래픽 감소, 이미지 최적화, animation에 네이티브 스레드 사용을 포함합니다. 성능은 매끄럽고 반응성 좋은 앱에 중요합니다.
re-render 최소화 (핵심 React 관심사)
✓ 불필요한 RE-RENDER 피하기:
→ React.memo (component 메모이제이션), useMemo (값), useCallback (함수)
→ 목록에 올바르고 안정적인 KEY; 자식 재렌더링을 유발하는 인라인 새 객체/함수
생성 피하기
→ 적절한 state 구조 (모든 것을 하나의 큰 state에 넣어 전부 재렌더링하지 않기)
효율적인 목록
✓ 긴 목록에 FLATLIST 사용 (ScrollView + map이 아님) — 지연 렌더링/가상화
✓ FlatList 최적화: keyExtractor, getItemLayout, windowSize, removeClippedSubviews;
항목 컴포넌트를 가볍고 메모이제이션 상태로 유지
✓ 매우 크고 복잡한 목록 → FlashList (Shopify) — 더 빠른 drop-in 대안
