如何获取包装在类型中的变量的类型Maybe?
在这种情况下,执行Maybe是:
type Maybe<T> = T | null
Run Code Online (Sandbox Code Playgroud)
假设我有一个这样输入的数据:
type MyData = { postTitle: string } & { meta: Maybe<{ tags: Array<El> }> }
Run Code Online (Sandbox Code Playgroud)
我需要提取 El 的类型以便在其他地方使用它。
我是TS菜鸟。我意识到,如果没有包装,很容易获得任何嵌套类型,就像type Easy= Simple['one']['heyAnArrayHere'][number]['propOfArrayElement']
但一旦 Maybe 以某种方式出现,我就完成了。
我认为我需要一个条件类型,可能类似于
type Expand<T> = T extends Maybe<infer U> ? U : T,但这根本不起作用。
任何帮助,将不胜感激!
您正在寻找NonNullable<Type>实用程序:
type El = HTMLElement;
type Maybe<T> = T | null;
type MyData = { postTitle: string } & { meta: Maybe<{ tags: Array<El> }> }
type AlsoEl = NonNullable<MyData['meta']>['tags'][number];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3139 次 |
| 最近记录: |