如何从打字稿中的扩展类中排除接口属性

时间:2019-02-06 12:28:35

标签: javascript reactjs typescript generics inheritance

我有两个课

interface IBasicFunctionalityProps {
  propertySpecificForBasicFunctionality: MyType;
  propertyNotSpecificForBasicFunctionality: boolean;
}

class BasicFunctionalityClass extends React.Component<IBasicFunctionalityProps> {...}

class ExtendedFunctionalityClass extends BasicFunctionalityClass

BasicFunctionality有两个道具,没关系。 但是在继承的类ExtendedFunctionalityClass中,我不想拥有propertySpecificForBasicFunctionality属性。我如何才能忽略此属性?

1 个答案:

答案 0 :(得分:5)

这完全违背了继承的概念。

我认为您应该将IBasicFunctionalityProps接口拆分为两个单独的接口,并根据需要实现它们。这样,您就可以实现所需的行为。

无论如何,React使用继承劝阻。 https://reactjs.org/docs/composition-vs-inheritance.html#so-what-about-inheritance

最诚挚的问候