高阶函数基本概念
1.函数可以作为参数被传递
setTimeout(()=>{
console.log(0)
},1000)
2.函数可以作为返回值输出
function foo(x){
return function(){
return x;
}
}
高级组件的基本概念
1.高阶组件就是接受一个组件作为参数并返回一个新组件的函数
2.高阶组件是一个函数,并不是一个组价
编写高阶组件
1.实现一个普通组件
2.将普通组件使用函数包裹
使用高阶组件
1.higherOrderComponent(WrappedComponent);
2. @higherOrderComponent
高阶组件的应用
代理方式的高阶组件
返回的新组件类直接继承自React.Component类,新组件扮演的角色传入参数组件的一个代理,在新组件的render函数中,将别包裹组件渲染出来,除了高阶组件自己要做的工作,其余功能全部转手给了被包裹的组件。
继承方式的高阶组件
采用继承关联作为参数的数组和返回的组件,假如传入的组件参数是WrappedComponent,那么返回的组件就直接继承自WrappedComponent