我正在使用react-query useMutation在后端上传一个图像。一切都正常工作,但在useMutation成功时,当invalidateQueries被调用时,它会在POST请求在后端成功执行之前使useQuery无效。所以我必须刷新页面以获取新图像。
enter image description here
const { data: usermedia,} = useQuery(["usermedia"],() => {
return getInfo("http://127.0.0.1:8000/usermedia/").then((t) => t.json());},
);
const mutation = useMutation(
(body) => postMedia("http://127.0.0.1:8000/usermedia/", body),
{
onSuccess:(data,) => {
console.log("Got response from backend successfull", data);
client.invalidateQueries("usermedia")
},
onError(error) {
console.log("Got error from backend", error);},
}
);
当POST在后端完成时,或者在使useQuery无效后,它在1秒后被触发时,我希望使查询无效。
1条答案
按热度按时间os8fio9y1#
您可能希望尝试返回invalidatenqueries调用,如下所示https://tkdodo.eu/blog/mastering-mutations-in-react-query