React高阶组件如何实现?

一、首先了解一下高阶组件的基本概念

高阶组件(HOC,Higher-Order Components)不是组件,而是一个函数,它会接收一个组件作为参数并返回一个经过改造的新组件

const EnhancedComponent = higherOrderComponent(WrappedComponent);

二、高阶组件的实现方式

  • 属性代理(Props Proxy)
    • 返回一个无状态(stateless)的函数组件
    • 返回一个 class 组件
  • 反向继承(Inheritance Inversion)

三、高阶组件能够解决哪些问题

  • 抽取重复代码,实现组件复用,常见场景:页面复用。
  • 条件渲染,控制组件的渲染逻辑(渲染劫持),常见场景:权限控制。
  • 捕获/劫持被处理组件的生命周期,常见场景:组件渲染性能追踪、日志打点。
posted @ 2021-02-20 17:59  程序員劝退师  阅读(142)  评论(0编辑  收藏  举报