React Query vs SWR 실제 프로젝트에서는 뭐가 나을까?
서버 상태 관리를 위해 React Query와 SWR 중 고민 중입니다. 데모 앱으로 둘 다 써봤는데, React Query는 기능이 많고 SWR은 가볍다는 느낌이었어요. 실제 프로젝트에서 두 라이브러리를 써보신 분들, 어떤 점이 좋았고 불편했는지 솔직한 후기 부탁드려요.
9 개의 답변
개인적으로 React Query 추천합니다. 캐싱과 리패칭 로직이 정말 체계적이고, Devtools가 디버깅할 때 큰 도움 되더라고요. SWR도 좋지만 복잡한 상태 관리가 필요하면 React Query가 낫습니다.
저는 SWR 씁니다. 프로젝트 규모가 작거나 API 호출이 단순하면 SWR이 훨씬 가볍고 코드도 깔끔해요. React Query는 설정할 게 많아서 오버엔지니어링 느낌이 들 때가 있어요.
두 개 다 써봤는데, 결국 팀의 선호도와 프로젝트 성격에 따라 갈리더라고요. React Query는 뮤테이션과 낙관적 업데이트가 강력하고, SWR은 리액트스러운 간결함이 장점입니다.
React Query의 자동 리패칭과 윈도우 포커스 기능이 정말 편했습니다. 다만 초기 러닝커브가 좀 있어서 팀원들이 적응하는 데 시간 걸렸어요. SWR은 직관적이라 빠르게 도입 가능했고요.
저는 SWR 선택했는데, 이유는 번들 사이즈와 단순성 때문이에요. React Query가 기능 많지만 실제로 쓰는 건 30%도 안 되더라고요. SWR로도 대부분 커버 가능합니다.
React Query 쓰다가 SWR로 갈아탔어요. 이유는 공식 문서가 더 친절하고, Next.js와의 호환성이 좋아서였어요. 근데 React Query의 타입스크립트 지원이 더 좋다는 의견도 있더군요.
둘 다 좋은데, 프로젝트가 점점 커지면 React Query의 생태계가 더 안정적이에요. 커뮤니티도 활발하고 유지보수도 꾸준해서 장기적으로는 React Query 추천합니다.
혹시 API 에러 핸들링이 중요하다면 React Query가 더 낫습니다. 공식적으로 에러 바운더리와 리트라이 로직을 지원해서요. SWR은 수동으로 처리해야 하는 부분이 많아요.
저는 개인 프로젝트에는 SWR, 회사 프로젝트에는 React Query 써요. React Query는 기능이 많아서 협업할 때 명확한 규칙을 정하기 좋고, SWR은 빠르게 프로토타입 만들 때 최고예요.