【问题标题】:How to extend component functionality in react?如何在 React 中扩展组件功能?
【发布时间】:2017-06-22 08:30:22
【问题描述】:
您好,我正在做一些内部项目,我需要在 React 中展示案例多租户概念。我有站点 A 和 B。A 将拥有所有平台组件,B 将继承 A 组件并且还需要具有扩展功能。例如,一个具有自己功能的 Carousel 组件我想引入一些新功能,例如在第一次幻灯片移动之后我需要进行任何回调等......在 React 中有 HOC 和 Composition 的概念,它们可以用于扩展组件没有继承的概念。
【问题讨论】:
标签:
reactjs
inheritance
model-view-controller
composition
【解决方案1】:
尽管 React 中的继承不像其他框架那样广泛适用(并且清楚地反应 do not recommend 这种方法也是如此),但没有什么禁止您在必要时使用继承:
export class BaseComponent extends React.PureComponent
{
// ...
}
export class AdvancedComponent extends BaseComponent
{
// ...
}
覆盖后代所需的方法。