我在我的一个项目中测试rtk-query,当网站第一次加载查询工作和收到数据时,我不理解这个问题,但是当我尝试更新或创建任何东西时,redux dev工具突变状态被拒绝,但当我刷新网站并再次尝试时,它工作,所以问题只发生在网站第一次加载时,这是我的代码
// import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query';
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
const auth = JSON.parse(localStorage.getItem('auth'));
export const crudApi = createApi({
baseQuery: fetchBaseQuery({
baseUrl: import.meta.env.VITE_APP_API,
// prepareHeaders: (headers) => {
// console.log(headers);
// },
}),
endpoints: (builder) => ({
getList: builder.query({
query: (path) => ({
url: `${path}/list`,
}),
}),
checkCopon: builder.mutation({
query: (code) => ({
url: `copon/check`,
body: { code },
method: 'POST',
}),
}),
filterDishes: builder.mutation({
query: (tags) => ({
url: `dish/filter`,
body: { tags },
method: 'POST',
}),
}),
getTodaysOrders: builder.query({
query: () => ({
url: `order/todayList`,
body: { today: true },
method: 'POST',
}),
}),
getSingle: builder.query({
query: ({ path, id }) => {
console.log(path, id);
return {
url: `${path}/get`,
body: { id },
method: 'POST',
};
},
}),
listOrderByUser: builder.query({
query: (id) => {
console.log(id);
return {
url: `order/listByUser`,
body: { id },
method: 'POST',
};
},
}),
docUpdate: builder.mutation({
query: (body) => {
console.log(body);
return {
url: `${body.path}/update`,
body: body,
method: 'POST',
headers: {
Authorization: 'Bearer ' + auth.token,
},
};
},
}),
Add: builder.mutation({
query: (body) => {
console.log(body);
return {
url: `${body.path}/add`,
body: body,
method: 'POST',
headers: {
Authorization: 'Bearer ' + auth.token,
},
};
},
}),
Delete: builder.mutation({
query: (body) => {
console.log(body);
console.log(`${body.path}/delete`);
return {
url: `${body.path}/delete`,
body: { ids: body.ids },
method: 'POST',
};
},
}),
}),
});
// Export hooks for usage in functional components
export const {
useListOrderByUserQuery,
useGetListQuery,
useGetSingleQuery,
useDocUpdateMutation,
useDeleteMutation,
useAddMutation,
useGetTodaysOrdersQuery,
useCheckCoponMutation,
useFilterDishesMutation,
} = crudApi;如果有人能帮上忙,我很感激,我不想重写所有的代码来修复它
发布于 2021-07-14 04:19:20
devtools中被拒绝的操作可能意味着很多事情,包括“我们不需要对这些数据发出新的请求,因为它已经在缓存中了”。
通过进一步检查该操作,您将获得更多信息(特别是action.meta -如果action.meta.condition为true,则正如我所说的那样,不需要新的请求),或者只需查看调用钩子后返回的error。
但如果没有更多关于错误的信息(如果有错误),就不可能说更多。
https://stackoverflow.com/questions/68366930
复制相似问题