试图找出实现以下目标的最佳方法:
createApicreateSlice前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)