상태 관리 선택

상태 범위와 변경 빈도를 먼저 나누면 도구 복잡도를 줄일 수 있습니다

Prop Drilling이 보인다고 모든 값을 전역 store에 넣는 것은 아닙니다. local, shared, server 상태를 구분한 뒤 필요한 도구만 선택합니다.

Local UI

한 컴포넌트 근처에서 끝나는 값

입력 중 값, 탭 선택, 모달 열림은 useState로 충분한 경우가 많습니다.

Shared Client

여러 화면이 동시에 읽는 값

인증 사용자, 장바구니, 테마처럼 공통 상태면 Context나 store를 검토합니다.

Server Cache

API에서 오고 재검증이 필요한 값

목록, 상세, 검색 결과는 캐시와 로딩 상태를 함께 관리합니다.

Derived

기존 값에서 계산되는 표시 값

필터 결과, 합계, 정렬 결과는 원본과 따로 저장하지 않는 것이 안전합니다.

Redux가 맞는 경우

변경 규칙, 기록, 미들웨어, 강한 팀 규칙이 필요한 규모입니다.

Zustand가 맞는 경우

간단한 store와 작은 보일러플레이트로 공유 상태를 빠르게 묶습니다.

Context가 맞는 경우

테마와 인증처럼 자주 변하지 않는 전역 값을 깊은 트리에 전달합니다.