Pau*_*non 7 apollo graphql typescript-typings apollo-client
Apollo 客户端的代码生成器添加| null了生成的类型,我不明白它们为什么在那里以及如何摆脱它们。
我不明白为什么 API 会返回 null 数组,所以我不想每次都检查我的代码是否为 null。
来自 apollo codegen 的违规生成类型:
export interface MusicGenres_musicGenres {
name: string;
}
export interface MusicGenres {
musicGenres: (MusicGenres_musicGenres | null)[];
^^^^^^
WHY ?
}
Run Code Online (Sandbox Code Playgroud)
我的 Graphql 架构:
type Query {
musicGenres: [MusicGenre]!
}
type MusicGenre {
id: ID!
name: String!
}
Run Code Online (Sandbox Code Playgroud)
在我的 TypeScript 代码中查询生成类型:
gql`
query MusicGenres {
musicGenres { name }
}
`
Run Code Online (Sandbox Code Playgroud)
在您的架构中,您具有以下字段定义:
musicGenres: [MusicGenre]!
Run Code Online (Sandbox Code Playgroud)
这意味着虽然musicGenres将是一个列表并且其本身永远不会为空,但列表中的任何项目都可能为空。如果您想指示列表中的所有项目也不可为空,则您的字段定义应为:
musicGenres: [MusicGenre!]!
Run Code Online (Sandbox Code Playgroud)
请参阅这篇文章以获取详细解释。
| 归档时间: |
|
| 查看次数: |
2706 次 |
| 最近记录: |