如何从typescript中的扩展类中排除接口属性

Lin*_*ink 0 javascript generics inheritance typescript reactjs

我有两节课

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

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

class ExtendedFunctionalityClass extends BasicFunctionalityClass
Run Code Online (Sandbox Code Playgroud)

BasicFunctionality有两个道具,没关系.但在继承的课堂上,ExtendedFunctionalityClass我不想拥有propertySpecificForBasicFunctionality财产.我怎么能省略这个属性?

Kon*_*rdź 5

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

在我看来,你应该将IBasicFunctionalityProps接口分成两个独立的接口,并根据需要实现它们.这样您就可以实现所需的行为.

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

最好的祝福