[英]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使用__typename
和id
(或_id
)字段进行归一化,因此具有相同ID的Product和Category通常不会引起任何问题。
客户端通常会为查询中的每个选择集附加__typename
,因此您不必自己实际添加__typename
字段。
传递给InMemoryCache的配置对象包括一个addTypename
属性,默认为true
。 如果将其设置为false,则将不会添加__typename
字段,并且在这种情况下,除非您具有通用的唯一ID,否则您将看到缓存问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.