首页 > 解决方案 > GraphQL 代码生成 React Hooks + Typescript (graphql-codegen)

问题描述

我们目前使用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 生成的代码提供默认上下文

标签: graphqlgraphql-codegen

解决方案


推荐阅读