Just Do IT!
[React Native] useMutation 이용해서 수정/삭제 기능 구현하기 본문
728x90
useMutation이란?
- React-Query의 hook 중 하나로 DB에 추가/수정/삭제 발생시킬 때 사용하는 hook이다.
- database에 직접 접근해서 data를 변경시킬 수 있다.
- mutation key, mutation 함수, 옵션 객체를 인자로 받는다.
적용 방법
const { isLoading: isLoadingEditing, mutate: reviseReview } = useMutation(
["editReview", review.id],
(body) => editReview(body),
{
onSuccess: () => {
console.log("수정성공");
},
onError: (err) => {
console.log("err in edit:", err);
},
}
);
적용 예시 (movie-review 앱에서 적용한 방법)
// ReviewEdit.jsx
import { useMutation } from "react-query";
...
const { isLoading: isLoadingDeleting, mutate: removeReview } = useMutation(
["deleteReview", review.id],
(body) => deleteReveiw(body),
{
onSuccess: () => {
console.log("삭제 성공");
},
onError: (error) => {
console.log("error in delete: ", error);
},
}
);
const { isLoading: isLoadingEditing, mutate: reviseReview } = useMutation(
["editReview", review.id],
(body) => EditReview(body),
{
onSuccess: () => {
console.log("수정 성공");
},
onError: (error) => {
console.log("error in edit: ", error);
},
}
);
...
더 자세한 내용은 공식 문서에.
https://tanstack.com/query/v4/docs/react/reference/useMutation
728x90
'개발 공부 > React Native' 카테고리의 다른 글
[React Native] 무한 스크롤(Infinite Scrolling) 적용하기 (0) | 2023.01.05 |
---|---|
[React Native] react-query 이용하기 (0) | 2023.01.05 |
[React Native] ScrollView 대신 FlatList 사용하기 (0) | 2023.01.04 |
[React Native] 영화 정보 API 사용하기 (TMDB) (0) | 2023.01.04 |
[React Native] react-navigation (0) | 2023.01.03 |