기능 개발과 병행한 단계적 스택 전환
문제
Redux 기반 전역 로딩과 앱별 API 요청 처리, 기존 UI가 강하게 결합되어 있었습니다. 신규 기능을 개발하면서 상태 관리 구조도 바꿔야 했습니다.
신규 기능 개발과 구조 변경을 함께 진행해야 했습니다. 전체 화면을 한 번에 교체하지 않고, 신규 화면과 연결된 페이지부터 전환한 뒤 나머지를 페이지 단위로 이관했습니다.
- TanStack Query · Hey APIQuery Key 기반 서버 상태 캐싱 · OpenAPI DTO 표준화
- URL Query · Zustand공유 가능한 화면 조건 · 클라이언트 UI 상태
- React Hook Form · Zod폼 입력 관리 · 스키마 기반 검증
구현
신규 화면과 그에 영향을 받는 페이지부터 새 구조로 전환했습니다. 요구사항 개발을 마친 뒤 나머지 화면을 페이지 단위로 이관했습니다.
Redux 기반 비동기 처리와 앱별 요청 코드를 정리하고, OpenAPI 스펙 기반 Hey API 코드 생성기와 공통 API 클라이언트로 요청·응답 DTO 타입을 맞췄습니다.
API 조회 결과는 TanStack Query로 관리하고, 공유하거나 복원할 화면 조건은 URL에 저장했습니다. UI 상태는 공유 범위에 따라 Zustand와 useState를 나누어 사용하고, 폼 입력과 검증은 React Hook Form·Zod로 관리했습니다.