next.js 属性'isLoading'在类型'NoteMutationResult < AxiosResponse< any,any>,Error,void,unknown Error'上不存在. ts(2339)

scyqe7ek  于 11个月前  发布在  iOS
关注(0)|答案(2)|浏览(199)

我试图创建一个删除功能,其中它将显示一个loading state使用useMutate的tanstackquery,但问题是,当我删除按钮,它不显示加载状态,即使我改变网络速度。


的数据

const ButtonAction = ({ id }: ButtonActionProps) => {
  const router = useRouter();

  const { mutate: deletePost, isLoading } = useMutation({
    mutationFn: () => {
      return axios.delete(`/api/posts/${id}`);
    },
    onError: (error) => {
      console.error(error);
    },

    onSuccess: () => {
      router.push("/");
      router.refresh();
    },
  });

  

  return (
    <div>
      <Link href="/edit/1" className="btn mr-2">
        {" "}
        <Pencil /> Edit
      </Link>
      <button onClick={() => deletePost()} className="btn btn-error">
        {" "}
        {isLoading && (
          <span className="loading loading-spinner loaddeing-xs"></span>
        )}
        {isLoading ? (
          "Loading..."
        ) : (
          <>
            <Trash />
            Delete
          </>
        )}
      </button>
    </div>
  );
};

export default ButtonAction;

字符串

new9mtju

new9mtju1#

使用isPending或isLoading很容易,

axzmvihb

axzmvihb2#

我正在使用tanstack v“5.8.1”,isLoading不是此版本的可用属性。请尝试使用isPending。

相关问题