首页 > 解决方案 > 在 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)。

任何人都知道是否存在中间件或其他解决方案?

谢谢社区!

标签: graphqlapolloreact-apollo

解决方案


推荐阅读