我将来自graphql服务器的授权令牌保存在localStorage上,并将该令牌附加到授权标头。但是登录后(将令牌保存到localStorage),服务器将获得具有空令牌值的授权标头。但是,我可以通过浏览器的开发人员模式检查令牌在localStorage上是否存在。刷新页面后,服务器将获得正常的授权标头。如何使我的apollo客户端在第一次尝试时发送正确的标头?以下是我的阿波罗客户生成器。
export default new ApolloClient({
uri: "MYSERVERENDPOINT",
clientState: {
defaults,
resolvers
},
headers: {
Authorization: `Bearer ${localStorage.getItem("token")}`
}
});
答案 0 :(得分:0)
通常,当您从localStorage获取项目时,最好使用async / await进行操作,以确保在返回之前先获取该项目。
尝试制作一个单独的函数,以使项目同步,并返回字符串文字并将其放入标头中。
答案 1 :(得分:0)
您必须使用代码手动重新加载页面。
尝试:
window.location.reload()