如何在 RTK-Query 插件中向端点添加标头?

问题描述

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

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

解决方法

您从端点的 return 函数中获得的所有 query 都将作为第一个参数传递给您的 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