如何在 React 中扩展组件功能?

How to extend component functionality in react?

你好,我正在做一些内部项目,我需要在 React 中展示案例多租户概念。我有站点 A 和 B。A 将拥有所有平台组件,B 将继承 A 组件并且还需要具有扩展功能。例如,A 有 Carousel 组件,它有自己的功能,我想引入一些新功能,比如在第一次幻灯片移动后,我需要进行任何回调等......在 React 中,HOC 和 Composition 的概念将用于扩展组件,因为有没有继承概念。

虽然react中的继承不像其他框架那样广泛适用(并且反应清楚do not recommend这种方法也是如此),但是没有什么可以禁止你在必要时使用继承:

export class BaseComponent extends React.PureComponent
{
    // ...
}

export class AdvancedComponent extends BaseComponent
{
    // ...
}

在后代中覆盖所需的方法。