我想制作一個帶有未知數量的通用屬性的typescript介面,這些屬性都應該被打造成booleans。如果我想制作一個帶有屬性 "foo "和一個通用值的介面,我會這么做:
export interface Foo< T> {
foo: T;
}
因為我想做的事情基本上是相反的,所以我嘗試了一下
。
export interface booleansMap<T> {
T: boolean。
}
但是我得到了
'T'被定義但從未被使用。(@typescript-eslint/no-unused-vars)
來自eslint
在檔案中很難找到這個問題(可能是沒有用正確的命名法去搜索)--所以我想知道是否有人理解并能解釋如何制作這樣一個介面
。它應該能夠處理類似于:
的東西。{
foo: false,
bar: true,
baz: false, baz.
}
或者
{
foo: true,
}
或者任何其他具有任何數量屬性的物件,只要所有的值都是布林值...
uj5u.com熱心網友回復:
你不需要用泛型來做這個。你可以直接使用[K: string]來指定一個通用的鍵:
type booleanMap = { [K: string]: boolean }
帶有介面定義:
interface booleansMap {
[K: string]: boolean;
}
或者使用Record:
type booleanMap = Record<string, boolean>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/332362.html
標籤:
上一篇:運算子不存在:字符變化=整數
