Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 使用GraphQL+;Apollo客户端,变异后如何返回totalCount?_Reactjs_Graphql_Apollo - Fatal编程技术网

Reactjs 使用GraphQL+;Apollo客户端,变异后如何返回totalCount?

Reactjs 使用GraphQL+;Apollo客户端,变异后如何返回totalCount?,reactjs,graphql,apollo,Reactjs,Graphql,Apollo,我有以下资料: const typeDefs = ` type Request { id: ID! email: String! totalCount: Int } type Mutation { createRequest(email: String!): Request! } `; export default typeDefs; 现在totalCount正在返回null。使用GraphQL,返回TotalCount作为突变响应的正确方法是什么。totalCount是否

我有以下资料:

const typeDefs = `
type Request {
  id: ID!
  email: String!
  totalCount: Int
}

type Mutation {
  createRequest(email: String!): Request!
}
`;

export default typeDefs;

现在totalCount正在返回null。使用GraphQL,返回TotalCount作为突变响应的正确方法是什么。totalCount是否应该以某种方式包含在请求模型中?

您已将
totalCount
定义为每个
请求
对象的属性,但
totalCount
表示所有
请求
对象的计数

在突变响应中允许附加数据的常见做法是让它返回一个包装器。例如:

type Mutation {
  createRequest(email: String!): CreateRequestResponse!
}

type CreateRequestResponse {
  request: Request!
  totalCount: Int!
}
CreateRequestResponse
是一个包装器对象,它可以包含客户端在响应中可能需要的任意属性
totalCount
这里只是一个例子;您可以在那里添加任何属性

因此,
请求
类型的定义为:

type Request {
  id: ID!
  email: String!
}
这非常理想,因为它只包含特定请求的属性