프론트엔드✏️/개인공부

[react, query] 좋아요의 상태가 이상했던 이유

당근먹는하니 2022. 10. 17. 10:59
728x90
반응형

 

리패치하는 시점의 문제였다. 

async await 문제인가??? 엄청 헤맸는데... 

// 게임 좋아요 api
  const likeMutation = useMutation(gameLike, {
    onSuccess: (data) => {
      console.log(data);
      if (data?.nolike === "not user") {
        let alertModal: any = {
          onoff: true,
          title: null,
          text: "로그인 후 이용해주세요.",
        };
        dispatch(set_alert_modal(alertModal));
      } else {
        gameRefetch();  // <<<<<onSuccess시에 리패치
      }
    },
    onError: () => {
      console.log("실패");
    },
  });

  // 좋아요 눌렀을 때
  const onClickLike = async (data: any) => {
    await likeMutation.mutate({
      usridx: Number(userInfo?.usridx) || Number(cookieUserInfo?.usridx) || 0,
      gameidx: data?.gameidx,
    });
    // gameRefetch(); // <<<<<원래 있던 곳
  };

 

 원랜 좋아요를 눌렀을 때! mutate 후 리패치를 했었다. 

근데 좋아요가 성공했을 때만 리패치를 해야하는거잖아???

onSuccess 안으로 옮겨준다! 

728x90
반응형