React 高阶组件(高级)
关于组件公共逻辑的抽离
- mixin,已被 React 弃用
- 高级组件 Higher Order Component(简称 HOC)
- Render Props
高阶组件基本用法
// 高阶组件不是一种功能,而是一种模式
const HOCFactory = (Component) => {
class HOC extends React.Component {
// 在此定义多个组件和公共逻辑
render() {
return <Component {...this.props} /> // 返回拼装的结果
}
}
return HOC
}
const EnhancedComponent1 = HOCFactory(WrappedComponent1)
const EnhancedComponent2 = HOCFactory(WrappedComponent2)