0

编辑:@helfer 建议这可能是一个错误。Github问题

对于一个新应用程序,我使用 Apollo 为我进行 graphql 管理。我有多种类型,也可以包含其他类型。

为了简化我作为开发人员的生活,我想使用片段来避免重复代码。

我正在尝试将不同类型的片段一起使用。

但查询导致错误,因为主题片段不能用于 BusinessArea 类型。

这是一个错误还是我错过了什么?

定义:

const subjectInfo = createFragment(gql`
  fragment subjectInfo on Subject {
    id
    name
  }`
)

const businessAreaInfo = createFragment(gql`
  fragment businessAreaInfo on BusinessArea {
    id
    name
    subjects {
      ...subjectInfo
    }
  }`,
  [subjectInfo]
)

graphql(gql`
query {
  businessAreas {
    ...businessAreaInfo
  }
}
`, {
  fragments: businessAreaInfo
})

结果查询:

{
  businessAreas {
    ...businessAreaInfo
    ...subjectInfo
  }
}

fragment businessAreaInfo on BusinessArea {
  id
  name
  subjects {
    ...subjectInfo
  }
}

fragment subjectInfo on Subject {
  id
  name
}
4

0 回答 0