问题描述
使用 https://graphql-code-generator.com/,GraphQL 中的类型只是设置为 String
,但在我的带有下拉输入的客户端代码中,类型更具体,因为它派生自下拉选项本身:
export const CODE_NAME_MAP = {
AFG: 'Afghanistan',AGO: 'Angola',// ...
export type Country = typeof CODE_NAME_MAP[keyof typeof CODE_NAME_MAP]
在这种情况下,从服务器返回的 graphql 数据的类型比客户端所做的要少。有没有更好的方法来表示这些类型,使它们相同?我在尝试在枚举中使用国家/地区名称时遇到验证错误。
解决方法
这有点难以帮助,因为您没有提供预期的类型,但是您是否考虑过声明 Object Type?然后,您可以将类型与您期望的类型相匹配,并在您的架构中正确分配它。