빠른시작
생성일: 2024-03-16
수정일: 2024-03-16
아래의 코드 스니펫은 React Query의 3가지 핵심 개념을 아주 간략하게 설명한다:
import {
useQuery,
useMutation,
useQueryClient,
QueryClient,
QueryClientProvider,
} from '@tanstack/react-query';
import { getTodos, postTodo } from '../my-api';
// 클라이언트 생성하기
const queryClient = new QueryClient();
function App() {
return (
// App에 클라이언트 제공하기
<QueryClientProvider client={queryClient}>
<Todos />
</QueryClientProvider>
);
}
function Todos() {
// 클라이언트에 접근하기
const queryClient = useQueryClient();
// 쿼리
const query = useQuery({ queryKey: ['todos'], queryFn: getTodos });
// 변형
const mutation = useMutation({
mutationFn: postTodo,
onSuccess: () => {
// 무효화 및 다시 가져오기
queryClient.invalidateQueries({ queryKey: ['todos'] });
},
});
return (
<div>
<ul>{query.data?.map((todo) => <li key={todo.id}>{todo.title}</li>)}</ul>
<button
onClick={() => {
mutation.mutate({
id: Date.now(),
title: 'Do Laundry',
});
}}
>
Add Todo
</button>
</div>
);
}
render(<App />, document.getElementById('root'));
React Query의 핵심 기능의 대부분은 이 세 가지 개념으로 구성된다.