Props
컴포넌트 계층 깊이가 얕은 경우
- 부모 → 자식 → 자식 (3뎁스)와 같이 깊이가 얕은 경우
- 데이터 변경 빈도가 낮은 경우
- 해당 데이터가 특정 컴포넌트 트리에서만 사용되는 경우
데이터 흐름이 명확하고 단순한 경우
- 데이터 전달 경로가 직관적이고 예측 가능할 때
- 상태 변경이 간단하고 복잡하지 않은 경우
Store
- 메모리 오버헤드가 있으므로 남용 주의
- 불필요한 전역 상태는 성능에 부정적 영향을 줌.
데이터가 여러 컴포넌트에서 공유되는 경우
- 앱 전역에서 접근이 필요한 상태
- 데이터 변경 빈도가 낮은 경우
- 여러 다른 깊이의 컴포넌트에서 동일한 데이터에 접근해야 할 때
- 데이터 범위가 제한적일 때
- 상태 변경이 간단할 때
- 컴포넌트 재사용성이 높을 때
상태 관리가 복잡한 경우
- 빈번한 상태 업데이트
- 비동기 데이터 관리
- 복잡하거나 자주 변경되는 상태 로직이 필요한 경우
- 여러 컴포넌트에서 동시에 접근 필요할 때
- 전역 상태 동기화가 필요할 때