高阶组件可以看作React对装饰模式的一种实现,高阶组件就是一个函数,且该函数接受一个组件作为参数,并返回一个新的组件。
高阶组件(HOC)是React中的高级技术,用来重用组件逻辑。但高阶组件本身并不是ReactAPI。它只是一种模式,这种模式是由React自身的组合性质必然产生的。
可以通过属性代理和反向继承实现高级组件
属性代理的优势
可操作所有传入的 props
可操作组件的生命周期
可操作组件的 static方法
获取 refs
反向继承的优势
可操作所有传入的 props
可操作组件的生命周期
可操作组件的 static方法
获取 refs
可操作 state
可以渲染劫持
HOC在业务中的实际应用场景:
日志打点
权限控制
双向绑定
表单校验