2022-11-15 高阶组件

56 阅读1分钟

image.png

1.有回调函数为参数的函数就是高阶函数 2.返回值return一个函数的函数是高阶函数

image.png

高阶组件就是参数接受一个组件,并返回一个组件的函数。例如:memo()

image.png

高阶组件的封装: image.png

eg:高阶组件enhanceHoc()传入一个组件Cpn,在高阶组件enhanceHoc内部创建一个新的组件CpnHoc,新的组件CpnHoc对传入组件Cpn进行一系列操作,最终return出新的组件。

即当我们使用enhanceHoc高阶组件的时候,只要传入对应的参数组件,那么enhanceHoc高阶组件就会对传入的组件进行一系列的操作,最终返回一个新的组件

eg2:高阶组件的封装

image.png

eg2:高阶组件的使用

image.png

传入一个匿名组件,让其被handleMemo()高阶组件包裹,返回一个新的组件Child。那么新的组件即被传入了msg

总结:

1.高阶组件是一个函数,参数是一个组件,获取到参数组件后,创建一个新的组件。在新的组件中对传入的组件进行一系列操作后,返回一个新的组件

2.高阶组件使用方法: 只需要将高阶组件包裹在组件外部,则会返回一个新的组件