微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

rtk-query 突变被拒绝

如何解决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.conditiontrue,那么正如我所说的那样,不需要新的请求) 或者只查看调用钩子返回的 error

但是如果没有关于错误的更多信息(如果有的话),就不可能多说。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。