延长反应组分组成

时间:2017-08-04 14:16:51

标签: javascript reactjs ecmascript-6

我正在考虑在React中扩展一个组件。我有read this in the docs建议使用组合而不是继承来重用组件之间的代码。

基于此,我实现了以下内容,并认为这是正确的方法。 (确实有效)。请参阅下面的代码。

class ComponentExtension extends Component {

  //*** extras to extend the original component here  ***//
  //*** omitted for the purposes of this question ***//

  render() {
    return <OriginalComponent />;
  }

}

然而,经过进一步的研究,我遇到了Higher Order Components in the docs。这两种方法有什么区别?您是应该在一个实例中使用一种方法而在另一个实例中使用另一种方法?他们甚至解决了同样的问题吗?

1 个答案:

答案 0 :(得分:0)

如果要扩展组件,则应该执行以下操作:

class ComponentExtension extends OriginalComponent {
      //***  extras ***//
}

如果你使用HOC,你只需将一个组件包装到另一个组件中。