如何在relay& amp;中正确创建连接? graphql架构?

时间:2017-08-10 11:30:46

标签: javascript reactjs relayjs graphql-js relaymodern

我正试图在继电器&中创建一个分页。我的架构中的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

执行甚至无法解决问题,因此我无法登录。但我相信错误并非来自那里。帮助

1 个答案:

答案 0 :(得分:0)

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