我正在尝试使用应用程序中的继电器实现分页。在react-bootstrap表和分页中显示数据以导航页面。我第一次点击页面时会加载第一页数据(执行root查询)。在分页上的点击事件(1,2,3 ..)我请求下一页数据的服务器。正如预期的根查询执行并获取数据但是UI上的数据没有得到更新..在浏览器控制台中我可以看到以下错误
警告:中继无法协调连接上的边缘。这很可能是在尝试处理包含缺少id
字段的节点的连接边的服务器响应时发生的。
分页后,我可以看到url中的所有参数更改为pageNum = 2,在页面刷新时显示新数据..但数据应该没有页面刷新。
答案 0 :(得分:2)
在服务器端GraphQL架构定义中,您定义了GraphQL类型的连接,是否定义了field :id, !types.ID
或globalIdField
。
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});
有关