【发布时间】:2021-10-04 06:35:33
【问题描述】:
尝试遵循 the official page 上相当稀疏的教程并没有让我走得太远。
我实际上是在尝试根据 api 调用的参数添加某个标头,但我不知道如何配置端点来这样做。
【问题讨论】:
尝试遵循 the official page 上相当稀疏的教程并没有让我走得太远。
我实际上是在尝试根据 api 调用的参数添加某个标头,但我不知道如何配置端点来这样做。
【问题讨论】:
@phry 回复不适用于我的情况。检查文档,这就是解决 CORS 问题的诀窍:
baseQuery: fetchBaseQuery({
baseUrl: '.....',
prepareHeaders: (headers, { getState }) => {
headers.set('Access-Control-Allow-Origin', '*')
return headers
}
}),
【讨论】:
来自端点的query 函数的return 的所有内容都将作为第一个参数传递给baseQuery。因此,如果您使用的是fetchBaseQuery,则需要查看一下。
通常,fetchBaseQuery 创建的 baseQuery 采用普通 fetch 调用将采用的所有选项 - 包括 headers 字段。
所以你会有类似的东西
myEndpoint: build.query({
query(args) {
return {
url: "foo",
headers: { myHeader: args.blup }
}
}
})
应该可以解决问题。
通常,除了“稀疏教程”之外,向下滚动时还有大约 25 个文档页面 - 但即使如此,也很难涵盖所有内容,因为 RTK-Query 相当灵活。
您可以在此处的文档中阅读有关 fetchBaseQuery 的更多信息:https://redux-toolkit.js.org/rtk-query/api/fetchBaseQuery#using-fetchbasequery
【讨论】: