我对graphql-js模式定义有疑问。我有以下情况,三种类型,两种类型具有相同的字段:
const aType: GraphQLObjectType = new GraphQLObjectType({
name: 'aType',description: 'A type',fields: () => ({
fieldA: {
type: baseType,description:
'The location of the order.',resolve: (root,{ }) => "dummy resolve"
}
})
});
const bType: GraphQLObjectType = new GraphQLObjectType({
name: 'bType',description: 'B type',{ }) => "dummy resolve"
}
})
});
const baseType: GraphQLObjectType = new GraphQLObjectType({
name: 'baseType',description: 'Base type',fields: () => ({
dummy: {
type: GraphQLString,{ }) => "Hi"
}
})
});
是否可以在aType和bType中定义相同的字段,然后在类型中使用该定义?
像这样:
const fieldDefinition = {
type: baseType,{ }) => "dummy resolve"
}
const aType: GraphQLObjectType = new GraphQLObjectType({
name: 'aType',fields: () => ({
fieldA: fieldDefinition
})
});
const bType: GraphQLObjectType = new GraphQLObjectType({
name: 'bType',fields: () => ({
fieldA: fieldDefinition
})
});
我认为应该可以,但是我必须为fieldDefinition分配的打字稿类型存在问题。 界面不是一个选择,因为对象之间的重叠太小了。
干杯, 基督徒