![](/img/trans.png)
[英]How to convert typescript class to plain javascript object with class-transformer
[英]How to convert an object of one class into an object of another class in typescript ReactJs?
我有两个这样定义的接口:
export interface PostView{
postName: string;
postTime: Time;
message: string | null;
replies: { [P in AccountType]?: Reply[][] };
}
export interface Post{
postName: string;
postTime: Time;
message: string | null;
replies: { [P in AccountType]?: Reply[] };
}
您可以看到除了replies
字段之外,两个interface
定义都是相同的。
现在,在一个.tsx
文件中,我得到一个PostView
对象。 我想调用另一个需要Post
对象的函数。 此外,对于replies
字段,我必须向函数发送空对象。
这就是我目前的情况。
const postViewObject: any = props.myPostView;
postViewObject.replies= {};
const request: Post = postViewObject;
functionToBeCalled(request);
您可以看到我正在将PostView
对象分配给我不想做的any
类型的变量。 然后我将replies
字段更新为空对象并将其转换为Post
对象。
有没有更好的方法来编写这段代码?
您可以使用扩展运算符创建一个新的帖子对象:
const request: Post = {
...props.myPostView,
replies: {}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.