定义字段
在客户端类型上定义字段就像定义一个解析器函数一样简单,该函数接受您的模型类型的实例作为其第一个参数,并返回字段值。请注意,导出的函数名称必须与字段名称匹配。
语法
Relay 解析器通过解析器函数上面的 docblocks 标记。@RelayResolver
是标记任何 Relay 解析器定义开始的标签。要在 GraphQL 模型类型 TypeName
上定义一个字段
- Docblock
添加 TypeName
后面加点,然后使用 GraphQL 的模式定义语言定义字段:https://spec.graphql.net.cn/June2018/#FieldDefinition
/**
* @RelayResolver TypeName.fieldName(arg1: ArgTypeName): FieldTypeName
*/
一个简单的字段可能看起来像这样
- Docblock
/**
* @RelayResolver User.name: String
*/
export function name(user: UserModel): string {
return user.name;
}
注意
Relay 会在任何输入(在本例中为模型实例)发生变化时有效地重新计算解析器,因此您无需担心记忆解析器函数。
这只是一个简单的解析器,它从模型类型中读取并返回标量值。要了解解析器字段支持的功能的完整菜单,请参阅