[React] 상태관리 설정 변경(react-query)

DaramGee·2025년 6월 11일

TIL

목록 보기
9/17

상태관리 설정 변경

1차 상태관리 설정

관리 도구관리 대상설명
zustand선택된 chatSeq전역 선택 상태. 여러 컴포넌트에서 쉽게 가져다 씀chatStore
로그인 상태(변경이 잦을 때)버튼/셀렉트에서 바로 상태 변경 가능loginInfoStore
모달 열림 여부, UI toggle모달 open/close 상태 등
현재 선택된 사이드 메뉴메뉴 선택 상태
React Query & lukemorales상담 리스트서버 데이터 fetch 및 캐싱
상담 상세 데이터선택된 채팅 번호로 상세 조회
채팅 데이터채팅 기록 등
상담사 리스트상담사 선택 셀렉트
페이징 처리, 검색 필터테이블 필터링, 검색조건 등
Context API테마/언어 설정라이트/다크모드, 다국어
권한(관리자/사용자)화면 접근 제어

서버 상태 (React Query)
👉 데이터가 서버와 동기화되는 부분 (API fetch/mutate)
예: 로그인 상태, 상담 리스트, 상세 데이터, 페이징, 필터, 채팅 데이터 등
클라이언트 상태 (zustand)
👉 UI 상태 (모달 열림/닫힘, 선택 상태, toggle, chatSeq)
Context API
👉 권한(관리자/사용자), 테마, 언어 설정 등 비교적 변하지 않는 글로벌 상태

npm install @lukemorales/query-key-factory
npm install zustand @tanstack/react-query

🔑 나만 언제 써야하는지 헷갈렸나?

정리하자면, 중요한 건 발생지! 클라이언트에서 발생 or 서버에서 발생

  • 데이터가 서버와 동기화되어야 하나?
    • YES → React Query
    • NO → zustand
  • API 호출이 필요한가?
    • YES → React Query
    • NO → zustand
  • UI 상태나 토글인가?
    • YES → zustand

최종

관리 도구관리 대상설명zustand로 유지React Query로 이동
zustand선택된 chatSeq전역 선택 상태. 여러 컴포넌트에서 쉽게 가져다 씀
모달 열림 여부, UI toggle모달 open/close 상태 등
현재 선택된 사이드 메뉴메뉴 선택 상태
React Query로그인 상태서버 fetch 후 상태 유지/변경
상담 리스트서버 데이터 fetch 및 캐싱
상담 상세 데이터선택된 채팅 번호로 상세 조회
채팅 데이터채팅 기록 등
상담사 리스트상담사 선택 셀렉트
페이징 처리, 검색 필터테이블 필터링, 검색조건 등
Context API테마/언어 설정라이트/다크모드, 다국어
권한(관리자/사용자)화면 접근 제어

0개의 댓글