我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
也许有不同的方法可以做到这一点。