React Query Mutate 기능 사용법
React Query에서 mutate
기능을 사용하면 서버에 데이터를 생성, 업데이트, 삭제 등의 동작을 수행할 수 있습니다. 아래는 mutate
기능을 사용하는 기본적인 방법과 예제를 설명합니다.
1. React Query의 useMutation
훅 사용
useMutation
은 서버에 대한 상태 변경 작업(POST, PUT, DELETE 등)을 처리하는 데 사용됩니다.
2. 기본 코드 구조
3. 주요 개념
-
useMutation
의 첫 번째 인수:- 데이터를 변경하는 API 호출 함수입니다. 위 예제에서는
axios.post
를 사용했습니다.
- 데이터를 변경하는 API 호출 함수입니다. 위 예제에서는
-
옵션 (선택 사항):
onSuccess
: 요청 성공 시 실행됩니다.onError
: 요청 실패 시 실행됩니다.onMutate
: 요청 전 실행됩니다. 낙관적 업데이트(optimistic update)를 구현할 때 유용합니다.
-
queryClient.invalidateQueries
:- 데이터를 갱신하기 위해 기존 캐시를 무효화합니다. 예를 들어,
['data']
키에 해당하는 데이터를 새로 불러오도록 설정합니다.
- 데이터를 갱신하기 위해 기존 캐시를 무효화합니다. 예를 들어,
4. 실전 예제: 낙관적 업데이트
사용자가 데이터를 변경했을 때, 서버 응답을 기다리지 않고 UI를 즉시 업데이트하는 방법입니다.
5. 추가 팁
- **
mutation.isLoading
,mutation.isSuccess
,mutation.isError
**와 같은 상태를 사용해 요청 상태를 UI에 반영할 수 있습니다. - TypeScript와 함께 사용한다면
useMutation
의 제네릭을 통해 타입을 지정하는 것이 좋습니다.
궁금한 점이나 추가 기능이 필요하면 말씀해주세요! 😊