我有一个看起来像这样的模型
export interface LoremIpsum {
propertyA: string;
propertyB: number;
}
从服务器我以这种格式返回数据
{
"Fields": {
"propertyA": {
"value": "something"
},
"propertyB": {
"value": 123
}
}
}
这是一种为此创建泛型类型的方法吗?所以我可以以类似 DynamicResponse<LoremIpsum>
的方式使用它?
最佳答案
您需要使用 mapped type迭代泛型类型 T
的所有键。然后,您可以将 T
的每个属性类型映射到 { value: T[K] }
type Fields<T> = {[K in keyof T]: { value: T[K] }};
interface DynamicResponse<T> {
Fields: Fields<T>
}
关于javascript - 从简单类型创建嵌套 TypeScript 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57803748/