我已设置此接口结构:
export interface Response<T> {
hasMoreResults: boolean
pageToken: string | null
status: string
result: T
}
export interface ArrayResponse<T> {
hasMoreResults: boolean
pageToken: string | null
status: string
result: T[]
}
由于有许多共享字段,所以我想写这样的东西:
interface ArrayResponse extends Response<T>{
result: T[]
}
但是,这引发了我无法修复的错误。是否有一种简单的方法来更改在两种情况下都使用通用属性的属性类型?我不想T | T[]
在一个界面中这样做,因为这会导致我的代码出现问题。谢谢。
看你的代码之间的唯一区别ArrayResponse
,并Response
是result
是一个数组。
您可以使用:
export interface Response<T> {
hasMoreResults: boolean
pageToken: string | null
status: string
result: T
}
export type ArrayResponse<T> = Response<T[]>
作为Response
已经可以接受任何类型的参数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句