【问题标题】:How to add headers to endpoints in RTK-Query Plugin?如何在 RTK-Query 插件中向端点添加标头?
【发布时间】:2021-10-04 06:35:33
【问题描述】:

尝试遵循 the official page 上相当稀疏的教程并没有让我走得太远。

我实际上是在尝试根据 api 调用的参数添加某个标头,但我不知道如何配置端点来这样做。

【问题讨论】:

    标签: graphql-codegen rtk-query


    【解决方案1】:

    @phry 回复不适用于我的情况。检查文档,这就是解决 CORS 问题的诀窍:

    baseQuery: fetchBaseQuery({ 
            baseUrl: '.....',
            prepareHeaders: (headers, { getState }) => {
                headers.set('Access-Control-Allow-Origin', '*')
                return headers
            }
        }),
    

    【讨论】:

      【解决方案2】:

      来自端点的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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-07-27
        • 2016-04-08
        • 1970-01-01
        • 2020-01-20
        • 1970-01-01
        • 2022-10-25
        • 2019-08-08
        相关资源
        最近更新 更多