我在我的反应应用程序中使用 rtk fetchBase。从文档中我了解到我们可以创建自定义 baseQuery 来处理响应。我想通过在 401 处理程序中调度减速器来编写一个 baseQuery 来处理 401 错误。如何创建自定义 baseQuery。
问问题
349 次
1 回答
1
您可以考虑以下示例:
export const baseQueryWithReauth: BaseQueryFn<
string | FetchArgs,
unknown,
FetchBaseQueryError
> = async (args, api, extraOptions = {}) => {
const result = await baseQuery(args, api, extraOptions);
if (result?.error?.status === RESPONSE_CODE.NO_AUTH) { // 401
logout(); // Optionally you can trigger some code directly here
// or dispatch an action to be handled in reducer or your middleware
api.dispatch("whatever action you need");
}
return result;
};
但是从您的问题来看,您将在这里发送什么并不清楚。这不是“调度减速器”的有效声明。您只能发送动作。
于 2021-12-08T18:41:44.027 回答