編集: @helfer は、これはバグである可能性があると示唆しました。Githubの問題
新しいアプリケーションでは、Apollo を使用して、graphql 管理を行っています。他のタイプも含めることができる複数のタイプがあります。
開発者としての生活を簡素化するために、フラグメントを使用してコードの重複を回避したいと考えています。
さまざまなタイプのフラグメントを一緒に使用しようとしています。
ただし、Subject フラグメントは 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
}