私はこのようにしています:
//driverType.js
module.exports = new GraphQLObjectType({
name: 'Driver',
fields: () => ({
homeTerminal: {
type: TerminalType,
resolve: resolver(User.HomeTerminal)
}
})
});
この:
//terminalType.js
module.exports = new GraphQLObjectType({
name: 'Terminal',
fields: () => ({
drivers: {
type: new GraphQLList(DriverType),
resolve: resolver(Terminal.Drivers)
}
})
});
エラーが発生します:
エラー: スキーマには一意の名前付きの型が含まれている必要がありますが、"Driver" という名前の型が複数含まれています。
関数ブロックでフィールドをラップすると解決するという投稿をいくつか見つけましたが、ご覧のとおり、私はそれを実行しましたが、違いはありませんでした。
薄い種類の循環参照をサポートする必要がありますね。クライアントに希望の深さを指定させることができます。
私は何を間違っていますか?
回避策として、homeTerminal
DriverType から削除し、プリミティブ フィールドでフラット化することもできますが、それはかなり洗練されていません。