Java 如何为GraphQLObjectType的GraphQLList定义中继片段?
我已经定义了一个GraphQLJava实现和一个模式。 是否可以在GraphQL查询中创建GraphQList(SomeGraphQLObjectType)类型的字段,并在Relay.QL{}声明片段中使用它,以便接收所需对象的列表?这是继电器“连接”工作的地方吗 是否可以创建类型为的字段 graphqlist(SomeGraphQLObjectType)并在 Relay.QL{}声明片段 是的,在指令的帮助下是可能的。它告诉Relay该字段是一个列表,而不是单个项目 像这样定义字段,其中Java 如何为GraphQLObjectType的GraphQLList定义中继片段?,java,reactjs,graphql,relayjs,Java,Reactjs,Graphql,Relayjs,我已经定义了一个GraphQLJava实现和一个模式。 是否可以在GraphQL查询中创建GraphQList(SomeGraphQLObjectType)类型的字段,并在Relay.QL{}声明片段中使用它,以便接收所需对象的列表?这是继电器“连接”工作的地方吗 是否可以创建类型为的字段 graphqlist(SomeGraphQLObjectType)并在 Relay.QL{}声明片段 是的,在指令的帮助下是可能的。它告诉Relay该字段是一个列表,而不是单个项目 像这样定义字段,其中项是一
项
是一个具有相同名称
的GraphQLObjectType:
itemList: {
type: new GraphQLList(Item),
// other stuff including resolve function
},
由于您已将中继容器划分为父容器和子容器,请按如下方式定义父容器:
export default Relay.createContainer(ParentComponent, {
fragments: {
itemList: () => Relay.QL`
fragment on Item @relay(plural:true) {
${ChildComponent.getFragment('item')}
}
`,
},
});
export default Relay.createContainer(ChildComponent, {
fragments: {
item: () => Relay.QL`
fragment on Item {
id,
name,
color {
id,
name,
}
}
`,
},
});
子容器如下所示:
export default Relay.createContainer(ParentComponent, {
fragments: {
itemList: () => Relay.QL`
fragment on Item @relay(plural:true) {
${ChildComponent.getFragment('item')}
}
`,
},
});
export default Relay.createContainer(ChildComponent, {
fragments: {
item: () => Relay.QL`
fragment on Item {
id,
name,
color {
id,
name,
}
}
`,
},
});
您可以通过Clay Allsopp在中了解有关中继指令的更多信息
还有一个你也可以看的
这是继电器“连接”工作的地方吗
视情况而定。如果您不希望所有项目都在一次拍摄中,那么连接是一种方式。它支持以增量方式获取数据
是否可以创建类型为的字段
graphqlist(SomeGraphQLObjectType)并在
Relay.QL{}声明片段
是的,在指令的帮助下是可能的。它告诉Relay该字段是一个列表,而不是单个项目
像这样定义字段,其中项
是一个具有相同名称
的GraphQLObjectType:
itemList: {
type: new GraphQLList(Item),
// other stuff including resolve function
},
由于您已将中继容器划分为父容器和子容器,请按如下方式定义父容器:
export default Relay.createContainer(ParentComponent, {
fragments: {
itemList: () => Relay.QL`
fragment on Item @relay(plural:true) {
${ChildComponent.getFragment('item')}
}
`,
},
});
export default Relay.createContainer(ChildComponent, {
fragments: {
item: () => Relay.QL`
fragment on Item {
id,
name,
color {
id,
name,
}
}
`,
},
});
子容器如下所示:
export default Relay.createContainer(ParentComponent, {
fragments: {
itemList: () => Relay.QL`
fragment on Item @relay(plural:true) {
${ChildComponent.getFragment('item')}
}
`,
},
});
export default Relay.createContainer(ChildComponent, {
fragments: {
item: () => Relay.QL`
fragment on Item {
id,
name,
color {
id,
name,
}
}
`,
},
});
您可以通过Clay Allsopp在中了解有关中继指令的更多信息
还有一个你也可以看的
这是继电器“连接”工作的地方吗
视情况而定。如果您不希望所有项目都在一次拍摄中,那么连接是一种方式。它支持以增量方式获取数据 感谢您快速而有根据的回复!使用此选项后,我想我应该考虑查询中的查看器根类型,这可能会使ParentComponent获取一个项目列表感谢您提供快速且有根据的回复!在使用此选项之后,我想我应该考虑查询中的查看器根类型,这可能会使ParentComponent获取项目列表