中继无法协调连接上的边缘

Relay was unable to reconcile edges on a connection

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

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

点击分页后,我可以在 url 中看到更改,所需参数为 pageNum=2,在页面刷新时它显示新数据。但数据应该在没有页面刷新的情况下出现。

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

例如(在 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});

可能与:

有关