react使用hoc的时候,为什么需要重新调用静态方法?

新手上路,请多包涵

官方文档中:HOC 应用于组件时,原始组件将使用容器组件进行包装。这意味着新组件没有原始组件的任何静态方法。为了解决这个问题,你可以在返回之前把这些方法拷贝到容器组件上。

为什么需要重新调用静态方法呢?官网开头有一句HOC 不会修改传入的组件,也不会使用继承来复制其行为。相反,HOC 通过将组件包装在容器组件中来组成新组件。是因为每次返回的组件都是新的,不包含以前的静态方法吗?那非静态方法为什么需要重新调用吗

阅读 1.1k
1 个回答
新手上路,请多包涵

使用react的原生构造器 - initialize 方法时, initialize 会重新调用静态方法。这是因为在react中,构造函数和构造器都是由原生构造器实例化的,而原生构造器是由React的原生代码实例化的。因此,如果你想要使用原生构造器,你必须重新调用静态方法来初始化它们。

推荐问题