Reactjs 为什么GraphQL将数组中的第一项显示为所有项?

Reactjs 为什么GraphQL将数组中的第一项显示为所有项?,reactjs,graphql,react-apollo,graphql-js,Reactjs,Graphql,React Apollo,Graphql Js,我正在尝试从GraphQL获取项目,并查看“网络”选项卡: 但当我这么做的时候 console.log(data) 我多次收到与第一次相同的对象。 例如,不是[0,1,2,3,4,5,6],而是[0,0,0,0,0,0]。 出什么问题了?您的API返回null作为每个项的id属性的值。Apollo的InMemoryCache是标准化的,并使用每个对象的id和_typename作为键。由于每个项目的id相同,因此它们在缓存中被覆盖 最简单的解决方案是修复服务器,使其正确返回每个项目的id,这将

我正在尝试从GraphQL获取项目,并查看“网络”选项卡:

但当我这么做的时候

console.log(data)
我多次收到与第一次相同的对象。 例如,不是[0,1,2,3,4,5,6],而是[0,0,0,0,0,0]。 出什么问题了?

您的API返回null作为每个项的id属性的值。Apollo的InMemoryCache是标准化的,并使用每个对象的id和_typename作为键。由于每个项目的id相同,因此它们在缓存中被覆盖


最简单的解决方案是修复服务器,使其正确返回每个项目的id,这将修复意外的缓存行为。如果出于某种原因,您没有每个项的唯一标识符,则需要实现自己的dataIdFromObject函数,并将其传递到InMemoryCache的配置中。有关文档中的其他详细信息,请参阅。

您确实需要显示一些代码或更多信息,此问题不完整。谢谢!你帮了很多忙