3

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

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

分页点击后,我可以看到带有所需参数的 url 更改 pageNum=2 并且在页面刷新时它显示新数据..但是数据应该没有页面刷新。

4

1 回答 1

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});

可能与:Relay 中的嵌套片段数据始终相同

于 2016-03-29T13:55:50.297 回答