什么是高阶组件?如何实现?

167 阅读1分钟
高阶组件可以看作React对装饰模式的一种实现,高阶组件就是一个函数,且该函数接受一个组件作为参数,并返回一个新的组件。
高阶组件(HOC)是React中的高级技术,用来重用组件逻辑。但高阶组件本身并不是ReactAPI。它只是一种模式,这种模式是由React自身的组合性质必然产生的。
可以通过属性代理和反向继承实现高级组件

属性代理的优势

可操作所有传入的 props
可操作组件的生命周期
可操作组件的 static方法
获取 refs

反向继承的优势

可操作所有传入的 props
可操作组件的生命周期
可操作组件的 static方法
获取 refs
可操作 state
可以渲染劫持

HOC在业务中的实际应用场景:

日志打点
权限控制
双向绑定
表单校验