如何解决rtk-query 突变被拒绝
我正在我的一个项目中测试 rtk-query,但当我尝试更新或创建任何我进入的内容时,我不明白网站何时加载第一次查询工作并收到数据redux 开发工具突变状态被拒绝,但是当我刷新网站并再次尝试时,它会起作用,因此仅在第一次加载网站时才会出现问题,这是我的代码
// 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 },getTodaysOrders: builder.query({
query: () => ({
url: `order/todayList`,body: { today: true },getSingle: builder.query({
query: ({ path,id }) => {
console.log(path,id);
return {
url: `${path}/get`,body: { id },};
},listOrderByUser: builder.query({
query: (id) => {
console.log(id);
return {
url: `order/listByUser`,docUpdate: builder.mutation({
query: (body) => {
console.log(body);
return {
url: `${body.path}/update`,body: body,headers: {
Authorization: 'Bearer ' + auth.token,},Add: builder.mutation({
query: (body) => {
console.log(body);
return {
url: `${body.path}/add`,Delete: builder.mutation({
query: (body) => {
console.log(body);
console.log(`${body.path}/delete`);
return {
url: `${body.path}/delete`,body: { ids: body.ids },});
// Export hooks for usage in functional components
export const {
useListOrderByUserQuery,useGetListQuery,useGetSingleQuery,useDocUpdateMutation,useDeleteMutation,useAddMutation,useGetTodaysOrdersQuery,useCheckcoponMutation,useFilterdishesMutation,} = crudApi;
如果有人可以帮助我不胜感激,我不想重写所有代码来修复它
解决方法
devtools 中的拒绝操作可能意味着很多事情,包括“我们不需要对这些数据发出新请求,因为它已经在缓存中”。
通过进一步检查该操作,您将获得更多信息(尤其是 action.meta
- 如果 action.meta.condition
是 true
,那么正如我所说的那样,不需要新的请求) 或者只查看调用钩子返回的 error
。
但是如果没有关于错误的更多信息(如果有的话),就不可能多说。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。