상태는 출처와 공유 범위가 가장 좁은 곳에 둔다
모든 값을 전역 store로 보내지 말고 서버·지역·공유 UI 상태를 차례로 구분한다.
Server state
async 컴포넌트와 cache에서 원본 관리
Local state
입력·열림·선택 탭을 useState로 보관
Context
Provider 아래에서만 쓰는 테마·사용자 표시
Client store
자주 바뀌는 공유 UI가 실제로 있을 때 선택
핵심서버에서 확정 가능한 값은 서버에 두고 사용자 행동으로만 변하는 값만 client 상태로 내린다.