React query & firebase - delete(삭제기능) (feat. mutation)

bebrain·2023년 1월 26일
0

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);
 };

0개의 댓글