[英]Typescript `Property is missing in type`, but the type is `never`
我要實現的是引用原始接口,並刪除一些屬性。 這是我的原始界面:
export interface IInvitations {
parent: Parse.User;
visitor: Visitors;
dates: IInvitationDateAndPin[];
}
用戶發起邀請時,不應將parent
作為參數。 保存到數據庫之前,它將自動分配。 所以我做了一個新的界面來忽略它:
export interface ICInvitations extends IInvitations {
parent: never;
}
但是,我無法成功為該接口分配值。
let data: ICInvitations = {
visitor: Visitors,
datas: [...]
}
它顯示Property 'parent' is missing in type
。 但是類型永遠不會,我無法為它分配任何東西。
如Jeff所述,雖然您不能從接口中刪除該屬性,但是可以通過執行以下操作來重用大部分屬性(TypeScript 3.5附帶Omit
):
export interface ICInvitations extends Omit<IInvitations, 'parent'> {
parent?: never;
}
parent?: never
一部分是可選的,但是如果有人試圖構造為parent
設置值的接口來實現該接口,則會使您得到錯誤提示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.