小编nvi*_*rna的帖子

RTK查询拦截器循环依赖

试图找出实现以下目标的最佳方法:

  1. API 通过createApi
  2. 验证切片通过createSlice
  3. 当 API 收到 401 时清除 redux auth 状态。

前2个没问题!但问题是当我需要向 API 添加拦截器时(无效的身份验证 - 清除本地身份验证状态):

// api.ts
import authSlice from './authSlice';
const baseQueryWithReauth: BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError> = async (
  args,
  api,
  extraOptions
) => {
  const result = await baseQuery(args, api, extraOptions)

  if (result.error?.status === 401) {
    api.dispatch(authSlice.actions.clearAuth())
  }

  return result
}

export const api = createApi({
  reducerPath: API_REDUCER_KEY,
  baseQuery: baseQueryWithReauth,
  endpoints: () => ({}),
})
Run Code Online (Sandbox Code Playgroud)
// authService.ts
import { User } from '../../models/User' …
Run Code Online (Sandbox Code Playgroud)

reactjs redux redux-toolkit rtk-query

1
推荐指数
1
解决办法
1712
查看次数

标签 统计

reactjs ×1

redux ×1

redux-toolkit ×1

rtk-query ×1