0

我正在尝试在我的架构中的中继和 graphql 中创建分页。这是我的代码:

const GraphQLFriendByUser = new GraphQLObjectType({
  name: 'FriendByUser',
  fields: {
    id: globalIdField('FriendByUser'),
    _id: {
      type: GraphQLString,
      resolve: (root) => root._id,
    },
    email: {
      type: GraphQLBoolean,
      resolve: (root) => root.email,
    },
    fullName: {
      type: GraphQLString,
      resolve: (root) => {
        return root.fullName;
      },
    },
  },
  interfaces: [nodeInterface],
});

const {
  connectionType: FriendsByUserConnection,
  edgeType: GraphQLFriendByUserEdge,
} = connectionDefinitions({
  name: 'FriendByUser',
  nodeType: GraphQLFriendByUser,
});

我在 todo-modern 中创建了这个类似的示例,在我的 TodoListHome 组件中,这是我的 graphql 查询:

friendsByUserContext( first: 200 ) @connection(key: "TodoListHome_friendsByUserContext") {
      id
      _id
      fullName
      email
    }  

更新架构时没有问题,但是当我尝试构建时,这是我的错误:

不变违规:RelayParser:id类型上的 未知字段FriendByUserConnection。来源:文档TodoListHome_viewer文件: C:\Users\PE60\Desktop\socialnetworking-todoapp\js\components\TodoListHome.js.

执行甚至没有达到解决,所以我无法登录。但我相信错误不是来自那里。帮助?

4

1 回答 1

0

由于您使用的是graphql-js,因此您可能在/graphql端点上托管了 graphiql。这是调试查询和查看架构结构的好地方。在那里您会看到您正在谈论的连接具有字段edges,该字段node具有具有您正在寻找的字段的字段。

于 2017-08-14T15:45:16.673 回答