해결된 질문
작성
·
387
2
리액트 쿼리를 사용하면 결국 client side fetching이 됩니다.
nextjs13부터 server side fetching이 가능해지고 suspense를 활용한 data streaming은 데이터펫칭에서 새로운 패러다임을 제시했다고 생각합니다. 굳이 리액트 쿼리를 사용할 이유가 있을까요?
답변 1
2
너무 좋은 질문을 주셨네요 5MIN VET님! Server action, Suspense, fetch caching정책 등 이미 훌륭한 네트워크 관리 솔루션이 탑재되어 있는 Next.js 14 버전에서 react-query를 써야하는지에 대한 주제는 이미 핫한 주제중 하나입니다. 전혀 필요없다는 사람도 있고 기존에 쓰던 기술이라 관성으로 계속 쓰는 사람들도 있어요 🙂
하지만 모든 기술이 그렇듯이, 흑백논리로 A 기술이 등장했다고 해서 B 기술이 쓸모없어지지는 않습니다. 제가 여전히 react query를 쓰고있는 이유는 아래와 같아요.
fetch를 활용하지 않는 SDK 또는 레거시 코드들(axios)에 클라이언트 캐싱이 필요할 때
client-side api call + state management가 필요할 때 react query로 두가지를 한번에 해결할 수 있음 (가독성이 좋습니다)
무한 스크롤 구현시 유용한 훅을 제공합니다. 이외에도 pagination 구현시 유용한 훅을 제공하거나 mutation과 연관된 캐시 키들을 활용해 optimistic update를 하는 등 고수준의 최적화가 가능해요.
제 개인적인 생각으로는, react query를 사용할지 말지는 이제는 취향의 영역으로 넘어온 것 같습니다. 관련해서 해외 아티클과 reddit을 정말 많이 찾아봤던 사람으로서, 아래 글이 제일 정리를 잘했다는 판단이 들어서 공유를 드려요 ㅎㅎ 또 의문이 드는 부분이 있다면 언제든지 질문주세요 😉