如何在打字稿接口中获取类型数组的存储API响应?
How to get store API response of type array in typescript interface?
apireturns这样的回复:
[
{
"id": "string",
"code": "string",
"name": "string",
}
]
例如它将是
[
{
"id": "abc",
"code": "CODE1",
"name": "name1",
},
{
"id": "cdf",
"code": "CODE2",
"name": "name2",
}
]
如何将其存储在打字稿界面中?我最初是这样尝试的
export interface promotionCodes {
id: string,
code: string,
name: string,
}
export interface getPromotionsResponse {
data: promotionCodes[]
}
我称之为:
return await this.get<getPromotionsResponse>(
`myurl`,
);
但我认为这行不通,因为我的调用中没有返回任何名为 'data' 的内容,但我不确定如何存储它?感谢您的帮助
您可以创建一个 type
,它是另一种类型的数组:
export type getPromotionsResponse = promotionCodes[];
如果您必须创建一个interface
而不是type
,您需要这样做:
export interface getPromotionsResponse {
[index: number]: promotionCodes;
}
或者更好的是,正如评论中 Mack 所建议的,您还可以扩展数组接口,这样您的新类型将具有数组的所有功能。
export interface getPromotionsResponse extends Array<promotionCodes> {}
您应该为此目的使用打字稿泛型
这是文档的 link:
https://www.typescriptlang.org/docs/handbook/2/generics.html
apireturns这样的回复:
[
{
"id": "string",
"code": "string",
"name": "string",
}
]
例如它将是
[
{
"id": "abc",
"code": "CODE1",
"name": "name1",
},
{
"id": "cdf",
"code": "CODE2",
"name": "name2",
}
]
如何将其存储在打字稿界面中?我最初是这样尝试的
export interface promotionCodes {
id: string,
code: string,
name: string,
}
export interface getPromotionsResponse {
data: promotionCodes[]
}
我称之为:
return await this.get<getPromotionsResponse>(
`myurl`,
);
但我认为这行不通,因为我的调用中没有返回任何名为 'data' 的内容,但我不确定如何存储它?感谢您的帮助
您可以创建一个 type
,它是另一种类型的数组:
export type getPromotionsResponse = promotionCodes[];
如果您必须创建一个interface
而不是type
,您需要这样做:
export interface getPromotionsResponse {
[index: number]: promotionCodes;
}
或者更好的是,正如评论中 Mack 所建议的,您还可以扩展数组接口,这样您的新类型将具有数组的所有功能。
export interface getPromotionsResponse extends Array<promotionCodes> {}
您应该为此目的使用打字稿泛型 这是文档的 link: https://www.typescriptlang.org/docs/handbook/2/generics.html