GraphQL 的 ID 标量有什么意义?

Edw*_*ssi 6 graphql

https://graphql.org/learn/schema/#scalar-types

我已阅读说明

ID:ID 标量类型表示唯一标识符,通常用于重新获取对象或作为缓存的键。ID 类型的序列化方式与 String 相同;然而,将它定义为 aID意味着它不是人类可读的。

但在实践中,如果我使用ID而不是,实际上会发生什么变化String

for*_*orJ 7

没有任何改变,因为它在描述中提到。ID序列化与String类型完全相同;因此,如果您将其替换IDString,则计算机将看不出有什么不同。

但是,对您来说重要的是,作为程序员的您肯定知道它是一个唯一标识符,当您对记录进行分页、修改 apollo 缓存、迭代创建 jsx 组件时,这将非常有用。

所以在实践中,它有一个非常实际的含义——它向程序员传达了重要的意义,即该字段对于该类型是唯一的。