接口可能只扩展一个类或另一个接口/映射类型

时间:2017-01-13 19:27:17

标签: reactjs typescript types interface

我将typescript 2.1JSX一起使用,我尝试将Partial映射类型用于反应组件的扩展接口,以及具有所需属性的接口的可选属性。

这是具有所需属性的界面:

interface ActionsCreators {
  A: string;
  B: string;
};

这是我想要扩展的界面:

interface Props extends React.Props<any> {
  C: string;
};

这是映射类型:

type ActionsCreatorsPartial = Partial<ActionsCreators>;

给出了这个结果:

type ActionsCreatorsPartial = {
  A?: string;
  B?: string;
}

这是我尝试做的事情:

interface Props extends React.Props<any>, ActionsCreatorsPartial {
   C: string;
};

但我看到编译错误:“接口可能只扩展一个类或另一个接口”如何将接口PropsActionsCreatorsPartial类型连接?

1 个答案:

答案 0 :(得分:2)

错误消息是正确的,接口只能扩展其他接口或类的接口,类同样只能实现接口或从另一个类接受接口。

有一个允许类实现类型别名的已批准suggestion,我想如果实现了接口,那么接口扩展类型别名将属于范围。

不幸的是,截至今天,我并不认为有任何方法可以将映射类型合并到界面中。