中继无法协调连接上的边缘
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.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});
可能与:
有关
我正在尝试在应用程序中使用中继实现分页。在 react-bootstrap table 中显示数据和分页以导航页面。当我第一次点击页面时,它会加载第一页数据(执行根查询)。在分页(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});
可能与: