hoc是什么意思

HOC(Higher-order component)是一种React 的进阶使用方法,只要还是为了便于组件的复用。强调一点,HOC本身并不是 React API, 它就是一个方法,一个接收一个组件作为参数,返回一个增强的组件的方法。

概括的讲,HOC能够实现:

1. 代码复用,代码模块化

2. 渲染劫持, 操作state

3. Props 增删改

HOC的实现方式:

在这节中我们将学习两种主流的在 React 中实现高阶组件的方法:属性代理(Props Proxy)和 反向继承(Inheritance Inversion)。

hoc是什么意思

基于反向继承(Inheritance Inversion, 缩写II)的方式

反向继承的实现为:

hoc是什么意思

返回的高阶组件类(Enhanced)继承了 WrappedComponent。这被叫做反向继承是因为 WrappedComponent 被动地被 Enhancer 继承,而不是 WrappedComponent 去继承 Enhancer。 

反向继承允许高阶组件通过this关键词获取 WrappedComponent,意味着它可以获取到 state,props,组件生命周期(component lifecycle)钩子,以及渲染方法(render)。