1.
const deleteReview = async (id: string) => {
await deleteDoc(doc(dbService, "reviews", id));
};
// 위의 코드는 return undefined가 생략되어있음
// Promise(undefined)를 반환함
// 따라서 이렇게 쓰면 요청은 서버로가지만 mutation이 서버상태 관리를 하지 못한다
2.
const deleteReview = async (id: string) => {
return await deleteDoc(doc(dbService, "reviews", id));
};
// return을 앞에 써주면? async await 비동기처리함수를 쓰는 의미가 없음
const deleteReview = (id: string) => {
return deleteDoc(doc(dbService, "reviews", id));
};
const mutation = useMutation(deleteReview, {
onSuccess: () => {
queryClient.invalidateQueries("reviews");
},
onError: (error) => {
console.log(error);
},
});
const handleDeleteBtn = (id: string) => {
mutation.mutate(id);
};