我可以从组件中的单个查询覆盖 Apollo Client 标头吗?

Aej*_*11a 5 reactjs react-apollo

当我初始化我的 Apollo 客户端时,我创建了一个带有 header 的 Apollo Link hello: "world"。有没有办法hello使用钩子覆盖组件的标头值?我认为这会起作用,但它仍然使用 Client 标头:

useQuery(<QUERY>,{
    context:{
        headers:{
            hello: "Canada"
        }
    }
})

Run Code Online (Sandbox Code Playgroud)

Jon*_*win 3

你的代码看起来是正确的。经过一些测试后,似乎无法覆盖现有标头。

  const { data, loading, error } = useQuery(ALL_GAMES, {
    context: { headers: { authentication: 'some value', test: 'some value' } }
  });
Run Code Online (Sandbox Code Playgroud)

也许如果您传入一个全新的客户端来 useQuery - 您可以使用工厂函数创建客户端