![](/img/trans.png)
[英]How to descturcture an object in Typescript when properties are optional?
[英]In Typescript, how do you type an object when it's properties are not know beforehand?
我對打字稿比較陌生,所以如果我遺漏了一些明顯的東西,請原諒我。 我在 ReactJS 中使用打字稿,我正在嘗試為 API 響應定義類型。
API 文檔說有一個meta
屬性,它是一個對象,但它的鍵/值無法預測。 IE
{
...
meta: {
property1: value1 //(can be string/number/array)
property2: value2
.
.
.
propertyN: valueN
}
}
我如何有效地輸入? 當我嘗試{ meta: object }
時,我的 eslint 抱怨所以我認為這不好。
由於您不知道它將包含什么,除了它將成為一個對象之外,您可以使用:
{ [key: string]: unknown };
它並不完全有效- 您必須對每個屬性值進行進一步的顯式類型縮小,但至少它是類型安全的(與any
不同)。
如果您知道它can be string/number/array
,只需像這樣定義它:
type MetaType = { [key: string]: string | number | any[] };
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.