React学习:高阶组件

64 阅读1分钟

1、参数为组件,返回值新组件的函数

2、HOC通过将组件包装在容器组件中来组成新的组件。并且其为纯函数,没有副作用

3、不要试图改变原始组件,使用组合

更改原型,不利于组件的复用性

4、约定:将不相关的props传递给被包裹组件

HOC 应该透传与自身无关的 props,减少组件的更改,增加HOC的灵活性和可复用性

5、约定:最大化可组合性

6、请勿复制静态方法

当HOC应用于组件时,原始组件将使用容器进行包装,新组建没有原始组件的任何静态方法

7、在HOC中ref不会被传递

 如果将ref添加到HOC的返回组件中,则ref引用指向容器组件,而不是被包装组件。
 React.forwardRef进行封装组件