【发布时间】:2020-07-29 12:09:12
【问题描述】:
我正在使用graphql-codegen/typescript-apollo-angular 生成可以在我们的 Angular 应用程序中使用的打字稿代码。
我们决定启用strictNullChecks,唯一的问题是我们使用以下模式来指定 API 返回的内部节点的类型:
type ListSomethingEdge = ListSomethingQuery["something"]["edges"][0];
在我的情况下,something 生成为 Maybe<Array<...>>,这是正确的。
当我启用strictNullChecks 时,上面的代码不再起作用,因为某些东西也可能是未定义的/空的。
Property 'edges' does not exist on type '({ __typename?: "SomethingConnection" | undefined; } & Pick<SomethingConnection, "totalCount"> & { edges?: Maybe<{ __typename?: "SomethingEdge" | undefined; } & { ...; }>[] | null | undefined; pageInfo: { ...; } & Pick<...>; }) | null | undefined'.ts(2339)
我找不到有关如何从这样的类型别名中删除 null / undefined 类型的文档。也许有不同的方法可以做到这一点。
【问题讨论】:
标签: angular typescript strictnullchecks graphql-codegen