簡體   English   中英

打字稿:我怎樣才能解開也許<T>類型?

[英]TypeScript: How can I unwrap the Maybe<T> type?

如何獲取包裝在Maybe類型中的變量的類型?

在這種情況下, Maybe的實現是:

type Maybe<T> = T | null

假設我有一個這樣輸入的數據:

type MyData = { postTitle: string } & { meta: Maybe<{ tags: Array<El> }> }

我需要選擇 El 的類型才能在其他地方使用它。

我是 TS 菜鳥。 我已經意識到,如果沒有包裝,很容易獲得任何嵌套類型,例如type Easy= Simple['one']['heyAnArrayHere'][number]['propOfArrayElement']但是一旦type Easy= Simple['one']['heyAnArrayHere'][number]['propOfArrayElement']以某種方式出現,我做完。

我認為我需要一個條件類型,可能類似於type Expand<T> = T extends Maybe<infer U> ? U : T type Expand<T> = T extends Maybe<infer U> ? U : T ,但這根本行不通。

任何幫助,將不勝感激!

您正在尋找NonNullable<Type>實用程序

TS 游樂場鏈接

type El = HTMLElement;
type Maybe<T> = T | null;
type MyData = { postTitle: string } & { meta: Maybe<{ tags: Array<El> }> }

type AlsoEl = NonNullable<MyData['meta']>['tags'][number];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM