
Tanstack Query(이전 이름: React Query)는 React 애플리케이션에서 서버 상태를 관리하기 위한 라이브러리이다. 서버에서 데이터를 가져오고 캐싱, 동기화, 업데이트, 그리고 UI 상태 관리를 쉽게 할 수 있도록 도와준다.
데이터 패칭 및 캐싱
자동 리페칭
쿼리 무효화와 재요청
📍 설치 명령어
$ npm i @tanstack/react-query
or
$ yarn add @tanstack/react-query
📍 기본 사용법
- QueryClient 설정
import React from 'react'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import UserList from './UserList'; const queryClient = new QueryClient(); function App() { return ( <QueryClientProvider client={queryClient}> <UserList /> </QueryClientProvider> ); } export default App;
- 사용자 목록 가져오기 (useQuery 사용)
import React from 'react'; import { useQuery } from '@tanstack/react-query'; import axios from 'axios'; const fetchUsers = async () => { const { data } = await axios.get('https://jsonplaceholder.typicode.com/users'); return data; }; function UserList() { const { data, error, isLoading } = useQuery(['users'], fetchUsers); if (isLoading) return <div>Loading...</div>; if (error) return <div>Error: {error.message}</div>; return ( <ul> {data.map((user) => ( <li key={user.id}>{user.name}</li> ))} </ul> ); } export default UserList;