【问题标题】:How to exclude interface property from extended class in typescript如何从打字稿中的扩展类中排除接口属性
【发布时间】:2019-06-30 09:50:12
【问题描述】:

我有两节课

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

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

class ExtendedFunctionalityClass extends BasicFunctionalityClass

BasicFunctionality 有两个道具,没关系。 但在继承类ExtendedFunctionalityClass 中,我不想拥有propertySpecificForBasicFunctionality 属性。我怎样才能省略这个属性?

【问题讨论】:

  • 为什么要省略该属性?你能给我们你的真实代码吗?
  • @Niek 不幸的是我不能给出任何真实的代码示例

标签: javascript reactjs typescript generics inheritance


【解决方案1】:

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

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

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

最好的问候

【讨论】:

  • 你是绝对正确的我认为BasicFunctionalityClass基本的ExtendedFunctionalityClass不是基本的 但结果恰恰相反
猜你喜欢
  • 2021-09-20
  • 2019-05-04
  • 1970-01-01
  • 2019-12-02
  • 2019-08-11
  • 2019-02-10
  • 2018-02-10
  • 1970-01-01
相关资源
最近更新 更多