핵심 요약
여기어때의 항공 프론트엔드 구축기는 저장소 설계에 대한 주인과 수명 판단 두 가지 질문으로 접근 방식을 바꾸고, 서버 데이터는 React Query, URL은 nuqs, UI 상태는 Context로 분리해 관리하는 경험과 교훈을 공유합니다.
주요 경험
- 저장소 필요 여부를 판단하는 두 질문("주인은 누구인가?", "언제 살아 있어야 하는가?")을 도입
- 서버 데이터는 React Query로 관리하고, URL은 nuqs를 통해 상태를 담아 공유/복원 가능하게 구성
- 화면 구간은 Context와 전용 훅으로 분리하고, 레이아웃 수준의 Provider로 화면 단위 종료 시 상태를 자동 제거, 서버 요청은 한 번만 나가도록 최적화
얻은 인사이트
- 소유권이 분명한 값이 저장소 필요 여부를 결정한다
- URL 기반 상태는 새로고침/링크 공유에서 안정적으로 동작
- 자주 바뀌는 값은 Context 대신 다른 방법으로 관리하는 편이 성능에 이점
