Replies: 1 comment
-
|
저희 pr내용이 거의 같은데 Hydration Mismatch 해결 이부분만 서로 다르게 해서 내일 같이 내용 보고 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
1. 성능 최적화 성과 (Performance Milestone)
모든 PR이 공통적으로 TanStack Query와 Virtual을 도입하여 압도적인 성능 향상을 증명했습니다.,,,
useBreakpointLimit훅을 통해 디바이스 별로 최적의 열(1~3열)을 자동으로 계산하도록 설계했습니다.,2. 핵심 기술적 과제: Hydration Mismatch 해결
SSR(Next.js) 환경에서
localStorage를 사용할 때 발생하는 렌더링 불일치 문제를 다음과 같이 표준화하여 해결합니다.,localStorage필터 값을 알 수 없어 '기본 데이터'를 프리패치하지만, 클라이언트는 저장된 필터 값으로 첫 화면을 그리려 함으로써 데이터 구조가 충돌함.,null로 고정하여 첫 하이드레이션을 통과시킵니다.,useEffect)에만localStorage값을 읽어 상태를 업데이트함으로써 오류를 방지합니다.,useInfiniteQuery가 기대하는InfiniteData구조로 변환해주는JobListPrefetcher를 도입해 데이터 정합성을 확보했습니다.,,3. 향후 고도화 제안: URL 기반 상태 관리로의 전환
localStorage방식의 한계를 극복하기 위해 필터 상태를 URL Query Parameter로 이전하는 것을 제안합니다.useEffect를 통한 복잡한 하이드레이션 회피 로직이 불필요해집니다.sigungu,fitLevel파라미터 수신 로직을 활용하여, 주소창의 변화를 감지하고 데이터를 페칭하는 구조로 확장합니다.4. 추가 품질 강화 항목
role="list",aria-setsize,aria-posinset등 ARIA 속성을 필수로 적용하여 보조 기기 사용자의 탐색 경험을 보장합니다.요약: 본 프로젝트는 가상화를 통해 성능을 극대화하고 프리패칭으로 초기 로딩을 최적화했습니다. 현재 발생한 하이드레이션 이슈는 '초기값 null + useEffect' 전략으로 안정화하였으며, 향후 URL 기반 상태 관리를 도입하여 더욱 견고한 SSR 아키텍처로 진화할 것을 권고합니다.
Beta Was this translation helpful? Give feedback.
All reactions