출처 구분
사용자가 만든 상태인지, 서버 응답인지, 브라우저 URL인지 먼저 분류한다.
서버 데이터를 클라이언트 전역 상태에 복사하면 동기화 문제가 생긴다Redux, Zustand, Context, Query 계열을 이름으로 비교하면 답이 흐려진다. 먼저 상태가 사용자의 입력인지, 서버에서 온 캐시인지, URL로 표현되어야 하는지, 세션 동안만 필요한지 나누면 store 선택이 훨씬 명확해진다.
사용자가 만든 상태인지, 서버 응답인지, 브라우저 URL인지 먼저 분류한다.
서버 데이터를 클라이언트 전역 상태에 복사하면 동기화 문제가 생긴다컴포넌트가 사라지면 버려도 되는지, 페이지 이동 후에도 남아야 하는지 판단한다.
수명보다 넓게 저장하면 오래된 값이 남는다누가 읽고 누가 쓰는지 표시해 props, context, store 중 가장 좁은 방식을 고른다.
전역은 마지막 선택에 가깝다fetch 결과, loading, error, refetch, invalidation은 Query 계열 도구가 맞는지 검토한다.
캐시 무효화는 상태 변경보다 데이터 계약에 가깝다action history, time travel, middleware가 필요한 복잡한 흐름인지 확인한다.
도구 비용과 팀 숙련도를 같이 본다