스토어 경계

Zustand 스토어 설계 판단 흐름

전역 상태는 편하지만 모든 상태를 올리면 구독 범위가 커진다. 공유 필요성과 변경 빈도를 먼저 나눈다.

작은 범위

지역 상태 유지

한 컴포넌트 안에서만 쓰면 useState나 useReducer에 둔다.

공유 계약

전역으로 승격

여러 화면이 같은 값과 액션을 공유하면 store slice로 분리한다.

렌더 제어

selector로 구독

컴포넌트는 필요한 조각만 선택해 불필요한 렌더링을 줄인다.

기능 확장

middleware 추가

persist, devtools는 저장과 추적이 필요한 slice에만 붙인다.

selector·action 경계

스토어가 커질수록 상태 shape보다 액션 이름과 selector 경계가 유지보수성을 좌우한다.