권위 데이터는 서버에 둔다
사용자, 주문, 게시글 같은 원본 데이터는 서버 fetch와 mutation 후 재검증 흐름으로 관리한다.
순수 UI 상태만 로컬로 둔다
dropdown 열림, active tab, 입력 중 값처럼 브라우저 상호작용에 가까운 상태를 client에 둔다.
searchParams
공유 가능한 상태
URL에 남아 뒤로 가기와 공유 링크가 자연스럽다.
문자열 변환과 검증이 필요하다.
server state
권위 값
DB/API의 결과이며 캐시와 재검증 정책이 중요하다.
local copy와 충돌하지 않게 한다.
client state
즉시 반응
입력 중 값과 임시 UI 상태를 빠르게 반영한다.
초기 렌더링 데이터와 섞지 않는다.
context
가까운 공유
많은 형제가 공유하는 UI 상태에 쓰되 provider 범위를
좁힌다.
전역 남용을 피한다.
공유 · 권위 · 범위 점검
상태 위치
// query/filter -> URL
// product/user/order -> server data
// modal/input draft -> local client state