Мне удалось найти решение моего вопроса.Я просто не полностью понял клиента Apollo и как использовать все необходимые пакеты.
РЕШЕНИЕ
Я использовал setContext
из библиотеки apollo-link-context
,Он входит в набор link
библиотек, которые Apollo Client предлагает для настройки сетевого запроса после начала операции graphql.Я установил заголовок в функции setContext
.Вот так:
const authLink = setContext((_, { headers }) => {
// It is also possible to use the local storage method in here.
const data = cache.readQuery({
query: ACCESS_TOKEN
});
return {
headers: {
...headers,
authorization: accessToken ? `Bearer ${data.accessToken}` : "",
'Access-Control-Allow-Origin': 'http://localhost:3000/'
}
}
});
Следующее находится за пределами функции withApollo
.
const httpLink = new HttpLink({
uri: '<server uri>',
});
Следующее находится внутри функции withApollo
.
return new ApolloClient({
cache,
link: authLink.concat(httpLink),
typeDefs,
resolvers
})
Документы для setContext
здесь здесь и документы для `apollo-link-context ' здесь .