理论往往是在结合实战的过程中才能达到"熟能生巧"、"得心应手"。当遇到重复ui时,使用高阶组件进行一层包装往往能达到事半功倍的效果。
实现:tabs封装
需求:我的项目中的每一个菜单都是以选项卡的形式进行展开的,当存在新增或跳转页面操作时,实际上是新增一个tab选项

将公共的tabs引入到高阶组件中

定义高阶组件,使用tabs对组件Coms进行一层包装

将公共方法定义在高阶组件

如果需要在高阶组件中连接redux,则可以这样写

使用高阶组件
引入

使用

新增选项卡
this.props.add({})
网友评论