中继无法协调连接

时间:2016-03-29 09:44:14

标签: reactjs graphql relay

我正在尝试使用应用程序中的继电器实现分页。在react-bootstrap表和分页中显示数据以导航页面。我第一次点击页面时会加载第一页数据(执行root查询)。在分页上的点击事件(1,2,3 ..)我请求下一页数据的服务器。正如预期的根查询执行并获取数据但是UI上的数据没有得到更新..在浏览器控制台中我可以看到以下错误

警告:中继无法协调连接上的边缘。这很可能是在尝试处理包含缺少id字段的节点的连接边的服务器响应时发生的。

分页后,我可以看到url中的所有参数更改为pageNum = 2,在页面刷新时显示新数据..但数据应该没有页面刷新。

1 个答案:

答案 0 :(得分:2)

在服务器端GraphQL架构定义中,您定义了GraphQL类型的连接,是否定义了field :id, !types.IDglobalIdField

E.g。 (在Javascript中,但适用于其他语言)

var myObjectType = new GraphQLObjectType({
  name: 'MyObject',
  description: 'My Object',
  fields: () => ({
    id: globalIdField('MyObject'),
    ...
  })
})

var myObjectListType = new GraphQLObjectType({
  name: 'MyObjectList',
  description: 'List of My Objects',
  fields: () => ({
    id: globalIdField('MyObjectList'),
    denims: {
      type: myObjectConnection,
      ...
    }
  })
})

var {connectionType: myObjectConnection} =
  connectionDefinitions({name: 'MyObject', nodeType: myObjectType});

可能与:Nested fragment data always the same in Relay

有关