簡體   English   中英

打字稿“屬性缺少類型”,但類型為“從不”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM