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