1)高阶组件是一个函数,它接收一个组件作为参数,并返回一个新的组件,这个新的组件可以对原组件进行扩展或增强,例如添加一些通用的逻辑、状态、行为等。
2)高阶组件的本质是一个装饰器模式,通过把通用逻辑从组件中抽离出来,实现代码复用和组件的解耦。高阶组件可以用于很多场景,例如添加权限控制、添加数据逻辑、动态渲染等等。
在react中,高阶组件主要通过以下方式实现:
1)属性代理:通过props将新的属性传递给被包裹的组件。
2)反向继承:通过继承被包裹的组件,可以覆盖或增加它的生命周期方法和渲染函数