gpt4 book ai didi

TypeScript:如何在解构对象时在 1 个元素上重新映射接口(interface)?

转载 作者:搜寻专家 更新时间:2023-10-30 21:25:43 25 4
gpt4 key购买 nike

在 typescript 3.4 中解构对象时,我可以这样做:

interface IObject {
...
}
const {loading, data, error}:{loading: boolean, data: IObject, error: string} = myResponseObject;

但是,在我的例子中,我已经定义了一个响应对象,所以我想像这样指定确切的响应类型:

interface IResponse {
loading: boolean;
data: any;
error: string;
}
interface IObject {
...
}
const {loading, data, error}:{data: IObject} = myResponseObject;

基本上,我想在解构时将我的 myResponseObject.data: any 类型转换为 myResponseObject.data: IObject 类型,这可能吗?

最佳答案

这可以通过转换来实现。您将扩展 IResponse 以对 data 进行更严格的定义:

interface IResponseWithTypedData extends IResponse {
data: IObject;
}

然后在解构时应用强制转换。

const { data } = myResponseObject as IResponseWithTypedData;

关于TypeScript:如何在解构对象时在 1 个元素上重新映射接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56193884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com