T
Tech Insights
HomeCategoriesCompanies
홈
현재 페이지
해외 숙소 리스트 성능 개선기 : 반쪽짜리 SSR에서 완벽한 인피니트 스크롤까지

해외 숙소 리스트 성능 개선기 : 반쪽짜리 SSR에서 완벽한 인피니트 스크롤까지

여기어때
2026년 1월 28일
약 3분
해외 숙소 리스트 성능 개선기 : 반쪽짜리 SSR에서 완벽한 인피니트 스크롤까지
AI 요약

해외 숙소 리스트 성능 개선: SSR에서 인피니트 스크롤까지

1. 반쪽짜리 SSR을 완성형으로 개선

  • 기존 SSR 구조는 서버에서 HTML만 내려주고 클라이언트 JS가 비로소 리스트를 채우는 방식이었습니다.
  • 첫 페이지 데이터를 서버에서 Fetching하여 HTML을 채우고 클라이언트에서는 Hydration으로 React를 이어받도록 수정했습니다.
  • 성과: LCP 21% 개선 (2.8초 → 2.2초), TBT 90% 감소 (90ms → 10ms).

2. 인피니트 스크롤과 뒤로가기 딜레마 해결 (Scroll Restoration)

  • TanStack Query의 useInfiniteQuery 사용 시 뒤로가기 시 스크롤 초기화 문제 발생.
  • 해결책: gcTime을 5분으로 설정하여 데이터 보존, refetchOnWindowFocus 및 refetchOnMount를 false로 설정하여 안정성 확보.
  • sessionStorage를 사용하여 페이지 이탈 시 스크롤 위치 저장 및 복구.

3. 불안정한 해외 숙소 API 엣지 케이스 처리

  • Case 1: 데이터 없음에도 hasNextPage가 true인 경우 Silent Retry 로직 구현 (Recursive Fetching).
  • Case 2: 필터링 결과 수가 적어 IntersectionObserver 감지 실패 시, '더보기' 버튼 렌더링으로 UI 분기 처리.

4. 빠른 스크롤 시 UX 사각지대 해소

  • Rapid Scrolling 시 새로운 리스트가 Footer 위쪽에 삽입되어 사용자가 인지하지 못하는 문제 발생.
  • 결단: 모바일 인피니트 스크롤 뷰에서 Footer 제거하여 '탐색' 가치 집중.

5. 향후 계획 및 배움

  • DOM 가상화(Virtualization) 도입 검토 및 TanStack Query의 캐싱 정책 고도화.
  • 프론트엔드 개발은 사용자의 시간과 경험을 아껴주는 일임을 재확인.
원문 보기

태그

여기어때기술