Если вы подклассифицируете компоненты класса React, использующие наследование OOP-типа, как будут обрабатываться методы жизненного цикла React? - PullRequest
0 голосов
/ 11 февраля 2019

Мы разрабатываем большой сайт с использованием React и до этого момента использовали композицию.Мы переоцениваем сложность структуры наших компонентов и думаем о повторной реализации компонентов с использованием наследования и более ориентированной на ООП структуры.Не вдаваясь в дебаты о композиции и наследовании, мне любопытно, как обрабатываются методы жизненного цикла.Делает ли кто-то что-то вроде этого:

// parent.js

componentDidMount () {
  // do some stuff
}

// child.js

componentDidMount () {
    super.componentDidMount()
    // do some stuff
}

Есть ли еще какие-то «уловки» для расширения базовых классов и создания классов детей и внуков в React?Будет ли код с использованием традиционного ООП, расширяющего классы компонентов React, возможно, сломаться в более поздней версии React?

А теперь вступим в дискуссию о композиции против наследования: мы прочитали рекомендации из React (https://reactjs.org/docs/composition-vs-inheritance.html),), но в нашем сценарии использования мы хотим начать с базовых компонентов и создать другие, которыеспускайтесь с них, становясь все более специализированными. FB, на приведенной выше странице, говорит, что нужно настраивать более общие компоненты, используя реквизиты, но мы не хотим, чтобы компоненты базового уровня знали обо всех параметрах всех возможных специализаций.базовый компонент должен быть простым и чистым, а более специализированные компоненты просто добавят нужные им специализированные детали. Мы что-то упустили?

...