graphql - 在 GraphQL 上登录后更新标题
问题描述
我尝试在登录成功时更新我的 GraphQL 标头。我用阿波罗。
我的默认设置是这样的:
const { API_GRAPHQL_URL } = config;
const httpLink = createHttpLink({
uri: API_GRAPHQL_URL
});
const getToken = async () => await AsyncStorage.getItem('userToken');
const authLink = setContext(async (_, { headers }) => {
const token = await getToken();
return {
headers: {
...headers,
authorization: token ? `Bearer ${token}` : ''
}
};
});
const client = new ApolloClient({
link: authLink.concat(httpLink),
cache: new InMemoryCache()
});
但是,如果我没有登录,则令牌为空。登录成功后,我想更新我的标题或刷新,以加载保存在 localstorage 上的令牌(使用 React-Native)。
任何人都知道是否存在中间件或其他解决方案?
谢谢社区!
解决方案
推荐阅读
- java - 使用 iText 2 垂直对齐文本和图像
- parsing - 使用 attoparsec 递归返回 .txt 文件中的所有单词
- python - 如何使用 lambda 来复制字典值?
- spring - JsonParseException:无效的 JSON 输入。位置:9。字符:'.'
- c# - 如何将文本文件的特定文本加载到特定文本框
- spring-ldap - 如何将 LDIF 文件导入 LDAP 服务器
- javascript - 通过保留以前的哈希来确保缓存供应商捆绑包
- bash - 无法跳过 shell 脚本中的空行
- node.js - 是否可以将 HTTP 升级请求重定向到另一个 URL?
- android - 如何为质量下降的捕获图像创建单独的文件夹