상태 관리 라이브러리는 앱 규모와 변경 규칙에 맞춰 고른다
작은 앱은 Context나 Zustand가 충분하고, 엄격한 추적과 팀 규칙이 필요하면 Redux가 유리하다.
| 선택지 | 잘 맞는 상태 | 장점 | 주의점 |
|---|---|---|---|
| Context | 테마, 인증처럼 낮은 빈도 전역값 | React 기본 기능으로 간단함 | 잦은 업데이트에는 부담 |
| Redux | 복잡한 비즈니스 상태와 추적 필요 | 규칙과 DevTools가 강함 | 보일러플레이트가 늘 수 있음 |
| Zustand | 가벼운 클라이언트 store | 작성량이 적고 빠르게 적용 | 팀 규칙은 별도 합의 필요 |
| Jotai/Recoil | 작은 단위 atom 상태 | 상태를 조각내기 좋음 | 의존 그래프 관리 필요 |
| React Query | 서버 데이터와 캐시 | 로딩, 재검증, 캐시 처리 | 클라이언트 UI 상태와 역할 분리 |
라이브러리 선택 전 local, shared client, server cache 상태를 먼저 나누면 선택이 단순해진다.