Как исключить свойство интерфейса из расширенного класса в машинописи - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть два класса

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

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

class ExtendedFunctionalityClass extends BasicFunctionalityClass

BasicFunctionality имеет два реквизита, и это нормально.Но в унаследованном классе ExtendedFunctionalityClass я не хочу иметь свойство propertySpecificForBasicFunctionality.Как я могу опустить это свойство?

1 Ответ

0 голосов
/ 06 февраля 2019

Это абсолютно против концепции наследования.

По моему мнению, вы должны разделить интерфейс IBasicFunctionalityProps на два отдельных интерфейса и реализовать их по мере необходимости.Таким образом, вы можете достичь желаемого поведения.

В любом случае, React отговаривает, используя наследование.https://reactjs.org/docs/composition-vs-inheritance.html#so-what-about-inheritance

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...