RTK仅在突变“成功”后查询invalidateTags

问题描述 投票:0回答:1

您好,我正在使用 RTK 查询进行 API 交互,但遇到一些错误,如果错误或成功,我会触发突变端点失效,始终会执行。

我正在寻找的是使突变成功的标签无效,这是我的代码

获取端点

getPosts: builder.query({
      query: () => `/posts`,
      providesTags: ['Posts'],
      transformResponse: (response, meta, arg) => response.data,
      transformErrorResponse: (response, meta, arg) =>  response.data?.message ?? response ,
    })

突变终点

mutatePost: builder.mutation({   
      query: (data,id) => ({
        url: id?`/posts/${id}`: `/posts`,
        method: id?'PATCH':'POST',
        body: data,
      }),
    
      transformResponse: (response, meta, arg) => response.data,
      transformErrorResponse: (response, meta, arg) => response.data?.message ?? response , 
      invalidatesTags: ['Posts'],

    })

我尝试了所有可用的结果,但不符合我的期望

redux redux-toolkit rtk-query
1个回答
18
投票

您可以使用回调符号

invalidatesTags: (result, error) => error ? [] : ['Posts'],
© www.soinside.com 2019 - 2024. All rights reserved.