繁体   English   中英

带有Apollo客户端的GraphQL,是否可能具有相同的ID和不同的类型名

[英]GraphQL with apollo-client, Is it possible to have same id's and different typenames

我有一个问题,在文档中找不到。 例如我有一个清单

ID 1,2,3,4产品

我还有另一个列表,ID为1,2,3,4类别。

示例查询

{
  products {
     id
     name
     categories {
     id
     name
     }
  }
}

我们可以看到它们在apollo中都具有相同的ID,但具有不同的类型名。 缓存数据时会产生任何问题吗? 随着Apollo使用ID规范化我们的数据,我们将不胜感激。

Apollo使用__typenameid (或_id )字段进行归一化,因此具有相同ID的Product和Category通常不会引起任何问题。

客户端通常会为查询中的每个选择集附加__typename ,因此您不必自己实际添加__typename字段。

传递给InMemoryCache的配置对象包括一个addTypename属性,默认为true 如果将其设置为false,则将不会添加__typename字段,并且在这种情况下,除非您具有通用的唯一ID,否则您将看到缓存问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM