我将来自graphql服务器的授权令牌保存在localStorage上,并将令牌附加到授权标头。但是在登录后,将令牌保存到localStorage,服务器将获得令牌值为空的授权头。但是,我可以通过浏览器的开发者模式检查localStorage上是否存在该令牌。刷新页面后,服务器会得到正常的authorization header。如何让我的apollo客户端在第一次尝试时就发送正确的报头?下面是我的apollo客户端生成器。
export default new ApolloClient({
  uri: "MYSERVERENDPOINT",
  clientState: {
    defaults,
    resolvers
  },
  headers: {
    Authorization: `Bearer ${localStorage.getItem("token")}`
  }
});发布于 2019-05-25 15:22:57
一般来说,当你从localStorage获取物品时,你最好使用async/await来确保在返回之前获得物品。
尝试创建一个单独的函数来同步获取项,并返回一个字符串文字并将其放入头中。
发布于 2019-08-25 18:18:27
必须在代码中手动重新加载该页。
尝试:window.location.reload()
发布于 2021-09-06 20:34:19
我知道我来晚了点,但我也遇到了这个问题,我发现了这些
你可以直接打电话给
client.clearStore();如果您在导入客户端时需要帮助
import { useApolloClient } from "@apollo/client";
const client = useApolloClient();https://stackoverflow.com/questions/56297016
复制相似问题