gpt4 book ai didi

graphql - Apollo 客户端的代码生成器在我的类型中添加了不需要的 "or null"

转载 作者:行者123 更新时间:2023-12-04 12:24:23 25 4
gpt4 key购买 nike

Apollo 客户端的代码生成添加 | null在生成的类型中,我不明白它们为什么存在以及如何摆脱它们。

我看不出为什么 API 会返回一个空数组,所以我不想每次都检查我的代码天气对象是否为空。

来自 apollo codegen 的违规生成类型:

export interface MusicGenres_musicGenres {
name: string;
}

export interface MusicGenres {
musicGenres: (MusicGenres_musicGenres | null)[];
^^^^^^
WHY ?
}

我的 Graphql 架构:
type Query {
musicGenres: [MusicGenre]!
}

type MusicGenre {
id: ID!
name: String!
}

在我的 TypeScript 代码中查询生成类型:
gql`
query MusicGenres {
musicGenres { name }
}
`

最佳答案

在您的架构中,您具有以下字段定义:

musicGenres: [MusicGenre]!

这意味着虽然 musicGenres将是一个列表并且本身永远不会为空,列表中的任何项目都可能为空。如果您想表明列表中的所有项目也是不可为空的,您的字段定义应改为:
musicGenres: [MusicGenre!]!

this post的扩展解释。

关于graphql - Apollo 客户端的代码生成器在我的类型中添加了不需要的 "or null",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61709707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com