https://www.imooc.com/learn/1075
https://www.imooc.com/video/18267 高阶组件
高阶组件介绍
高阶组件的定义及原理
高阶组件在项目中的常见应用
通用高阶组件如何封装
高阶函数基本概念(High Order Component,HOC)
函数可以作为返回值输出
1 | function foo(x){ |
高阶组件不是一个组件
高阶组件应用
代理方式的高阶组件
返回的新组件类直接继承自React.Component类,新组件扮演的角色传入参数组件的一个代理,在新组件的render函数中,将被包裹的组件渲染出来,除了高阶组件自己要做的工作,其余功能全部转手给了被包裹的组件
1 | A.jsx |
继承方式的高阶组件
采用继承关联作为参数的组件和返回的组件,假如传入的组件参数是WrappedComponent,那么返回的组件就直接继承自WrappedComponent
操纵prop
操纵生命周期函数
1 | D.jsx |
高阶组件显示名
1 | /** |
高阶组件实战项目搭建
1.create-react-app tabbar
2.Tabbar静态布局实现
去https://www.iconfont.cn/搜图标 添加图标到项目
1 | tabbar/index.js |
3.Tabbar绑定点击事件
1 | tabbar/index.js |
4.Tabbar添加路由
1 | router.js |
5.Tabbar添加路由切换
1 | tabbar/index.js |
6.其它页面
1 | pages/home.js |
因为每个页面都加了tabbar,判断条件必须编程url,不然不准。
7.使用高阶组件改写Tabbar
编写高阶组件
1.实现一个普通组件
2.将普通组件使用函数包裹
1 | tabbar/index.js |
总结回顾
高阶组件概述
高阶组件实现
高阶组件应用
高阶组件使用出现的问题
高阶组件实战
回顾与总结