我们目前使用graphql-codegen
生成 React Hooks 来查询我们的 GraphQL 服务器。
鉴于我们目前有 2 个端点,我们像这样进行拆分:
const endpoints = ApolloLink.split(
operation => operation.getContext().serviceName === 'ServiceB',
SampleLink1
SampleLink2
);
这意味着我们需要在每次想要访问 ServiceB 时提供 serviceName 上下文变量。
鉴于我们有 2 次调用graphql-codegen
(每个服务都有自己的架构/设置),有没有一种方法可以自动添加baseOptions
正确的上下文。
否则我们需要继续这样做:
const someQueryQuery = useSomeEntityQuery({
variables: { id },
context: {
serviceName: 'ServiceB',
},
});
但我更喜欢上下文有一个默认值,我只是这样做了:
const someQueryQuery = useSomeEntityQuery({
variables: { id },
});
基本上问题是我们是否可以为通过 graphql-codegen 生成的代码提供默认上下文