상태는 출처와 공유 범위가 가장 좁은 곳에 둔다

모든 값을 전역 store로 보내지 말고 서버·지역·공유 UI 상태를 차례로 구분한다.

이 값은 어디서 생기고 누가 읽는가?출처 → 생명주기 → 공유 범위 순으로 판정
DB·CMS

Server state

async 컴포넌트와 cache에서 원본 관리

한 컴포넌트

Local state

입력·열림·선택 탭을 useState로 보관

한 subtree

Context

Provider 아래에서만 쓰는 테마·사용자 표시

여러 영역

Client store

자주 바뀌는 공유 UI가 실제로 있을 때 선택

핵심서버에서 확정 가능한 값은 서버에 두고 사용자 행동으로만 변하는 값만 client 상태로 내린다.