React 19에서 Suspense 개선됐다는데, 체감되나요?
React 19 베타 써보신 분들 계신가요? Suspense가 데이터 fetching에서 더 강력해졌다고 들었는데, 실제로 써보니 기존 React Query랑 비교했을 때 큰 차이가 없더라고요. 공식 문서 보니까 서버 컴포넌트랑 연계하면 좋다고 하는데, 아직 감이 안 잡힙니다. 경험 공유 부탁드립니다.
6 개의 답변
저도 React 19 베타 써봤는데요, Suspense가 확실히 SSR에서 빛을 발하는 것 같아요. 기존 React Query는 클라이언트 fetch에 특화된 반면, Suspense + 서버 컴포넌트 조합은 초기 로딩 자체를 서버에서 처리해주니까 TTI가 확 줄더라고요. 한번 서버 컴포넌트로 마이그레이션 해보시는 걸 추천드려요.
저는 오히려 체감 많이 됐어요! 특히 nested Suspense가 자연스러워져서, 여러 데이터 의존성이 있는 페이지에서 로딩 상태 관리가 훨씬 깔끔해졌어요. React Query도 좋지만, Suspense만으로도 충분히 강력해진 느낌이에요.
혹시 어떤 부분에서 차이가 없다고 느끼셨는지 자세히 알려주실 수 있나요? 저도 도입 고민 중인데, 실제 사용자 경험이 궁금합니다. 특히 ErrorBoundary랑 같이 쓸 때 Suspense가 잘 작동하는지도 알고 싶어요.
저는 아직 안 써봤는데, 공식 문서만 봐서는 Suspense가 기존의 useTransition이랑 결합되는 부분이 흥미롭더라고요. React Query랑 비교하면 확실히 다른 레이어의 문제를 푸는 거 같아서, 단순 비교는 어려울 수도 있을 거 같아요.
개인적으로는 Suspense가 데이터 fetching보다는 코드 스플리팅에서 더 체감됐어요. lazy 로딩이랑 결합하면 번들 크기 관리가 훨씬 편해지고, 사용자 경험도 좋아지더라고요. 데이터 쪽은 아직 실험 단계라고 봐도 될 거 같아요.
공감합니다! 저도 React Query에 익숙해서 Suspense가 처음엔 낯설었는데, 간단한 프로젝트로 서버 컴포넌트랑 같이 써보니까 확실히 장점이 느껴지더라고요. 특히 스트리밍 SSR에서 점진적 렌더링 되는 모습이 신기했어요. 시간 나실 때 작은 토이 프로젝트로 테스트해보세요.