reactjs - Egenskapen 'isLoading' finnes ikke på typen 'UseMutationResult, Error, void, unknown>'.ts(2339)
Jeg prøver å lage en slettefunksjon der den vil vise en lastetilstand ved bruk av useMutate fra tanstackquery, men problemet er at når jeg sletter knappen, vises ikke lastetilstanden selv om jeg endrer nettverkshastigheten.
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;
Svar #1
Jeg bruker tanstack v "5.8.1", og isLoading er ikke en tilgjengelig egenskap for denne versjonen. Prøv å bruke isPending i stedet.
Svar #2
det er lett å bruke isPending som et alternativ til isLoading
