我在 rtk 查询中更新查询数据时出错,我该如何解决?
I am getting error while updateQueryData in rtk query, how do I fix this?
我是 React 查询的新手,尝试了很多教程,但我仍然没有记录任何内容,在以下代码之后没有任何反应,甚至无法记录新数据,感觉没有任何错误。 POST 运行良好。
addCategory: builder.mutation({
query: (body) => ({
method: "POST",
url: apiLinks.categoryPUT,
body: body,
}),
async onQueryStarted(body, { dispatch, queryFulfilled }) {
try {
const res = await queryFulfilled;
const id = _.get(res, "data.data.InsertedID", Date.now());
dispatch(
categoryApi.util.updateQueryData(
"getAllCategory",
undefined,
(data) => {
const newBody = { id, ...body };
console.log({ data, newBody }); //nothing shows here
data.push(newBody);
}
)
);
} catch (error) {
console.log({ error }); // nothing logs here
}
},
}),
问题是我使用了这个:useGetAllCategoryQuery("getAllCat");获取数据。
useGetAllCategoryQuery("getAllCat");
所以应该是:
categoryApi.util.updateQueryData(
"getAllCategory",
"getAllCat", //change here
它似乎是缓存数据的唯一标识符
我是 React 查询的新手,尝试了很多教程,但我仍然没有记录任何内容,在以下代码之后没有任何反应,甚至无法记录新数据,感觉没有任何错误。 POST 运行良好。
addCategory: builder.mutation({
query: (body) => ({
method: "POST",
url: apiLinks.categoryPUT,
body: body,
}),
async onQueryStarted(body, { dispatch, queryFulfilled }) {
try {
const res = await queryFulfilled;
const id = _.get(res, "data.data.InsertedID", Date.now());
dispatch(
categoryApi.util.updateQueryData(
"getAllCategory",
undefined,
(data) => {
const newBody = { id, ...body };
console.log({ data, newBody }); //nothing shows here
data.push(newBody);
}
)
);
} catch (error) {
console.log({ error }); // nothing logs here
}
},
}),
问题是我使用了这个:useGetAllCategoryQuery("getAllCat");获取数据。
useGetAllCategoryQuery("getAllCat");
所以应该是:
categoryApi.util.updateQueryData(
"getAllCategory",
"getAllCat", //change here
它似乎是缓存数据的唯一标识符