В моем текущем корпоративном коде есть концепция базовых классов и функций Specifi c компоненты
class Engine extends Component {
render(){
this.renderEngine();
}
}
А затем у нас есть определенные c классы, такие как PetrolEngine и DieselEngine
class PetrolEngine extends Engine {
makeLessSound(){
console.log('Silence');
}
consumeMoreFuel(){
console.log('Gobble up!')
}
renderEngine(){
this.makeLessSound();
this.consumeMoreFuel()
}
}
class DieselEngine extends Engine {
makeMoreSound(){
console.log('Grrr!');
}
consumeLessFuel(){
console.log('Dieting!')
}
renderEngine(){
this.makeMoreSound();
this.consumeLessFuel()
}
}
Теперь я хочу создать новый компонент, такой как ElectricEngine
. Есть ли способ написать это как функциональный компонент, не затрагивая существующие компоненты на основе классов.
И да, я знаю, что Композиция должна была быть лучшим подходом, а не наследованием здесь. Но это то, что есть.