微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

创建后更改 ApolloClient 链接

如何解决创建后更改 ApolloClient 链接

我正在尝试更新我的 AolloClient uri,在我的 NextJS 应用程序上创建它之后,在我的 getServerSideProps 中从我的环境变量中获取有效主机之后。

目前我有

const gqlClient = new ApolloClient({
  uri: `http://localhost:3000/graphql/`,cache: new InMemoryCache({
    addTypename: false
  })
});

export default function MyApp(props: AppProps & InitialProps) {

  return (
     <ApolloProvider client={gqlClient}>
         <Component {...pageProps} />
     </ApolloProvider>
  )
}


MyApp.getinitialProps = async (context: AppContext) => {

 // get new graphQLHostUrl from environment variables
 const graphQLHost: '';
 return {
   graphQLHost: graphQLHost
 }
}

但是,我无法在我尝试过的 MyApp 组件中设置 graphQL 客户端的新链接

gqlClient.setLink(new HttpLink({uri: graphQLHost}))

然而,这不起作用,它陷入了无限循环。获得新的正确链接后,如何更新我的客户链接

我的意图是在 useLazyQuery 中使用 index.tsx,无论如何我可以在那里更改它吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。