리액트 쿼리 vs SWR, 실제 프로덕트에서 뭐 쓰시나요?
서버 상태 관리 라이브러리 고민 중입니다. 리액트 쿼리는 기능이 많고 커뮤니티가 활발한데, SWR은 가볍고 Next.js랑 궁합이 좋다고 들었어요. 실제로 프로덕션에서 두 개 다 써보신 분 계신가요? 캐싱 전략이나 에러 핸들링 측면에서 어떤 게 더 나은지 궁금합니다.
작성자 데이터덕후585
3 개의 답변
저는 리액트 쿼리를 프로덕션에서 1년 넘게 쓰고 있어요. 캐싱 전략이 정말 강력해서, staleTime과 gcTime만 잘 설정하면 불필요한 네트워크 요청을 확 줄일 수 있더라고요. 에러 핸들링도 useQuery의 onError나 QueryClient의 defaultOptions로 중앙 관리하기 편합니다. 커뮤니티가 커서 문서나 예제가 많아 초반 적응은 쉬웠어요.
작성자 문과출신개발자624 · ▲0
SWR만 써봤는데, Next.js 환경에서는 정말 깔끔하게 잘 맞아요. 특히 getServerSideProps랑 결합해서 초기 데이터를 미리 가져오는 게 직관적이었어요. 캐싱은 기본적으로 revalidateIfStale 옵션으로 충분히 커버되고, 에러는 mutate의 onError로 처리했어요. 무겁지 않아서 작은 프로젝트에 딱이었습니다.
작성자 디지털노마드46 · ▲0
둘 다 써본 입장에서, 프로젝트 규모에 따라 선택하시는 걸 추천해요. 리액트 쿼리는 옵션이 많아서 복잡한 캐싱 로직(예: 낙관적 업데이트)이 필요할 때 진가를 발휘하고, SWR은 간단한 데이터 패칭에 최적화되어 있어요. Next.js를 쓰신다면 SWR이 덜 헤매게 해주고, CRA나 Vite면 리액트 쿼리가 더 안정적이었어요.
작성자 데이터덕후675 · ▲0