正确扩展接口

时间:2018-08-04 23:47:32

标签: typescript model

我想知道是否有更好的方法为我的应用程序设计模型,因为我认为这不是那么干净。可能在这里问错了地方,但也许您愿意提供帮助

场景

管理员注册考试候选人:

interface PreCandidate {
  gender: 'male' | 'female';
  firstName: string;
  lastName: string;
  email: string;
  note?: string;
  invited: Date;
  stage: 'invited' | 'registered';
}

然后,候选人获得邀请函,并进行注册并提供一些其他信息:

interface CandidateDetails {
  birthDate: Date;
  address: {
    street: string;
    postal_code: string;
    city: string;
    country: string;
  };
}

这全部存储在数据库中:

type CandidateData = PreCandidate & CandidateDetails;

然后在应用中用作

interface Candidate extends CandidateData {
  id: string;
}

0 个答案:

没有答案