如何设置对象样式参数的类型?
我具有以下功能签名
private buildURI({ endpoint params }): void {
}
现在打字机因缺少打字而抛出错误,所以我已经尝试过了
private buildURI({ endpoint:string, params: any[] }): void { }
也
private buildURI({ endpoint, params }: { string, any[]}): void { }
但两者都不起作用,只有这一项有效
private buildURI({ endpoint, params }: any ): void { }
但它似乎不是有效的。
那么如何使用有效的输入设置此方法?
答案 0 :(得分:3)
下面是设置“对象样式”(正确的术语是销毁参数)的正确方法。
private buildURI({ endpoint, params }: { endpoint: string, params: any[] })
这是here讨论的已知痛点。
当然,您总是可以先定义一个接口,然后再使用它。
interface UriOptions {
endpoint: string
params: any[]
}
private buildURI({ endpoint, params }: UriOptions)
答案 1 :(得分:1)
您应该定义一个具有endpoint
和params
道具的类型:
type BuildUriRequest = {
endpoint: string,
params: any[]
}
function buildURI({ endpoint, params }: BuildUriRequest): void { }