[英]How to use localStorage with apollo-client and reactjs?
[英]How to setup global variables in apollo-client
我正在尝试为所有graphql
查询设置全局变量,我使用 Apollo-client,它在其设置中提供了 defaultOptions,我可以在其中设置变量,但突变更新中的突变和查询会忽略它们。
return new ApolloClient({
connectToDevTools: isBrowser,
ssrMode: !isBrowser, // Disables forceFetch on the server (so queries are only run once)
link: new HttpLink({
uri: GRAPHQL_URL, // Server URL (must be absolute)
credentials: 'same-origin', // Additional fetch() options like `credentials` or `headers`
// Use fetch() polyfill on the server
fetch: !isBrowser ? fetch : undefined,
}),
cache: new InMemoryCache().restore(initialState || {}),
defaultOptions: {
mutate: { variables: { domain: NEW_YORK_GQL_DOMAIN } },
watchQuery: { variables: { domain: NEW_YORK_GQL_DOMAIN } },
query: { variables: { domain: NEW_YORK_GQL_DOMAIN } },
},
});
真的不知道我做错了什么,任何帮助表示赞赏。
如果您使用附加变量调用ApolloClient.query
,它将完全覆盖默认变量。 因此,您应该能够执行以下操作:
const result = await apolloClient.query({
query,
variables: {
...apolloClient.defaultOptions.query.variables,
uri
}
});
诸如useQuery
的钩子似乎可以将默认变量与任何其他变量正确合并,因此useQuery
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.