我正在尝试根据另一种类型定义 TypeScript 类型。
这有效:
type Result = { data: { nestedData: { foo: string; bar: string } } };
type NestedData = Result['data']['nestedData'];
但是,当data
属性可以为空时,这不起作用:
type Result = { data: { nestedData: { foo: string; bar: string } } | null };
type NestedData = Result['data']['nestedData'];
并导致错误:
Property 'nestedData' does not exist on type '{ nestedData: { foo: string; bar: string; }; } | null'.(2339)
如何在不重复任何部分的情况下根据 定义我的NestedData
类型?Result
Result
编辑:我NestedData
从代码生成工具中获取我的类型,并且我将其定义NestedData
为更短的类型别名。实际上打字时间更长,所以我想尽量减少重复。