0
我通过阅读待办事项样本学习graphql /继电器。在继电器中,如何获取graphql中定义的outputFilelds?
突变模式的定义如下:
const GraphQLChangeTodoStatusMutation = mutationWithClientMutationId({
name: 'ChangeTodoStatus',
inputFields: {
complete: { type: new GraphQLNonNull(GraphQLBoolean) },
id: { type: new GraphQLNonNull(GraphQLID) },
},
outputFields: {
todo: {
type: GraphQLTodo,
resolve: ({localTodoId}) => getTodo(localTodoId),
},
viewer: {
type: GraphQLUser,
resolve:() => getViewer(),
},
},
mutateAndGetPayload: ({id, complete}) => {
const localTodoId = fromGlobalId(id).id;
changeTodoStatus(localTodoId, complete);
return {localTodoId};
},
});
继电器突变定义here,并呼吁象下面这样:
this.props.relay.commitUpdate(
new ChangeTodoStatusMutation({
complete,
todo: this.props.todo,
viewer: this.props.viewer,
})
);
我只是困惑从未使用schmea的outputFileds在调用者中,并且与继电器中的胖查询无关。任何人都可以请详细解释一下吗?
不管怎样,我的最终目标是实现grapahql /继电器(如下图所示),这就需要得到突变模式定义的输出验证,但我不知道怎么样。
mutation {
createToken(username: String!, password: String!) {
token
error
}
}
得到它,我应该更仔细地阅读正式文件。 :) – Ron