如何从 redux 工具包中的 prepareHeaders 访问 url
How to access url from prepareHeaders in redux toolkit
为了添加特定的 header,我需要检查 api/query url 是什么。没有任何基于 redux 工具包文档的参数。
export const gatewayApi = createApi({
reducerPath: 'gatewayApi',
tagTypes: [
'Country',
'Users',
],
baseQuery: fetchBaseQuery({
baseUrl: '/api/',
prepareHeaders: headers => {
headers.set('content-type', 'application/json');
const { auth } = JSON.parse(
localStorage.getItem('user'),
);
const { accessToken } = JSON.parse(
localStorage.getItem('token'),
);
const queryUrl = '**** TODO ****';
if (isTokenAuth(queryUrl)) {
headers.set('authorization', `${accessToken}`);
} else if (auth) {
headers.set('authorization', `${auth}`);
}
return headers;
},
}),
endpoints: () => ({}),
});
不,没有。不过,您也可以只从端点的 query
函数中设置 headers:
myEndpoint: build.query({
query(arg) {
return {
url: ...,
headers: { foo: "bar" }
}
}
})
为了添加特定的 header,我需要检查 api/query url 是什么。没有任何基于 redux 工具包文档的参数。
export const gatewayApi = createApi({
reducerPath: 'gatewayApi',
tagTypes: [
'Country',
'Users',
],
baseQuery: fetchBaseQuery({
baseUrl: '/api/',
prepareHeaders: headers => {
headers.set('content-type', 'application/json');
const { auth } = JSON.parse(
localStorage.getItem('user'),
);
const { accessToken } = JSON.parse(
localStorage.getItem('token'),
);
const queryUrl = '**** TODO ****';
if (isTokenAuth(queryUrl)) {
headers.set('authorization', `${accessToken}`);
} else if (auth) {
headers.set('authorization', `${auth}`);
}
return headers;
},
}),
endpoints: () => ({}),
});
不,没有。不过,您也可以只从端点的 query
函数中设置 headers:
myEndpoint: build.query({
query(arg) {
return {
url: ...,
headers: { foo: "bar" }
}
}
})