TanStack Query 기본 사용법
TanStack Query란?
HTTP 요청을 할 때 서버에서 응답 받은 내용을 가공해서 별도의 상태를 만들 필요 없이 곧바로 사용이 가능하게 해주는 라이브러리이다.
기본 코드 스니펫
import {
useQuery,
useMutation,
useQueryClient,
QueryClient,
QueryClientProvider,
} from '@tanstack/react-query'
import { getTodos, postTodo } from '../my-api'
// Create a client
const queryClient = new QueryClient()
function App() {
return (
// Provide the client to your App
<QueryClientProvider client={queryClient}>
<Todos />
</QueryClientProvider>
)
}
function Todos() {
// Access the client
const queryClient = useQueryClient()
// Queries
const query = useQuery({ queryKey: ['todos'], queryFn: getTodos })
// Mutations
const mutation = useMutation({
mutationFn: postTodo,
onSuccess: () => {
// Invalidate and refetch
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'))
기본 사용법 설명
import
import {
useQuery,
useMutation,
useQueryClient,
QueryClient,
QueryClientProvider,
} from '@tanstack/react-query'
import { getTodos, postTodo } from '../my-api'
'Programing > React' 카테고리의 다른 글
zustand 상태 관리 (0) | 2024.06.14 |
---|---|
로그인 하지 않은 상태에서는 헤더가 렌더링 되지 않게 조건부 렌더링 설정하기 (0) | 2024.06.14 |
형식에 맞지 않는 날짜 형태 변환해서 렌더링하기 (0) | 2024.06.04 |
002. 작업 환경 설정 (0) | 2024.05.30 |
001. 리액트의 특징과 Virtual DOM (0) | 2024.05.30 |
댓글