웹 애플리케이션에서 데이터 가져오기, 캐싱, 동기화 및 서버 상태 업데이트를 간편하게 도와주는 라이브러리
( 이전에는 React Query였으나 React외 다른 프레임워크에서도 사용할 수 있게함으로써 TanStack Query로 이름 변경)
$ npm i @tanstack/react-query
import { QueryClient, QueryClientProvider } from "react-query";
const queryClient = new QueryClient();
export default function App() {
return (
<QueryClientProvider client={queryClient}>
<App />
</QueryClientProvider>
);
}
const {
data: genre, isLoading, error} = useQuery({
queryKey: ['genre'],
queryFn: fetchGenre,
});
queryKey
: 특정 커리를 식별하는데 사용되는 고유 키 (쿼리의 캐싱, 무효화 및 재요청을 관리하는데 중요한 역할)
queryFn
: 데이터를 가져오는 함수
queryKey를 기준으로 캐시되며,
동일한 쿼리가 요청될 경우 캐시된 데이터를 반환하여 불필요한 네트워크 요청을 줄입니다.데이터가 변경되거나 업데이트가 필요할 때, 쿼리를 무효화하여 새로운 데이터를 가져와 UI를 항상 최신 상태로 반영되도록 합니다.