我正在研究像下面這樣的結構,因為我想動態訪問型別。
type userType = {
userId: number
name: string
}
type postType = {
postId: number,
title: string
}
type entityTypes = {
user: userType,
post: postType
}
我想要物體型別鍵的單獨聯合。所以像這樣:
("userId" | "name)[] | ("postID" | "title")[]
但不是這個:
("userId" | "name" | "postID" | "title")[]
我正在嘗試如下,但它永遠不會回傳。
type entityFieldsArray = keyof prismaIncludes_t[keyof prismaIncludes_t] //never
然后我找到了以下解決方案
type KeysOfUnion<T> = T extends T ? keyof T: never;
type AvailableKeys = KeysOfUnion<entityTypes[keyof entityTypes]>[];
但是這個回傳:(“userId”|“name”|“postID”|“title”)[]。所以不是分開的。
我怎樣才能得到與父母分開的鑰匙?希望我解釋清楚?
uj5u.com熱心網友回復:
很近; 您需要包裝keyof T
陣列而不是整個結果:
type KeysOfUnion<T> = T extends T ? (keyof T)[]: never;
type AvailableKeys = KeysOfUnion<entityTypes[keyof entityTypes]>[];
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/522081.html
標籤:打字稿
上一篇:打字稿只讀和getter方法
下一篇:帶有打字稿的多種型別