web前端高级React - React从入门到进阶之高阶组件

本文介绍了React中的高阶组件(HOC),它是一种复用组件逻辑的高级技巧。高阶组件是接收组件作为参数并返回新组件的函数,常用于数据订阅和状态管理。文章详细解释了为何使用HOC,如何创建和使用HOC,以及使用HOC的三大约定。通过实例展示了如何通过HOC减少代码冗余,提高代码复用性。
摘要由CSDN通过智能技术生成

第二部分:React进阶

系列文章目录

第一章:React从入门到进阶之初识React
第一章:React从入门到进阶之JSX简介
第三章:React从入门到进阶之元素渲染
第四章:React从入门到进阶之JSX虚拟DOM渲染为真实DOM的原理和步骤
第五章:React从入门到进阶之组件化开发及Props属性传值
第六章:React从入门到进阶之state及组件的生命周期
第七章:React从入门到进阶之React事件处理
第八章:React从入门到进阶之React条件渲染
第九章:React从入门到进阶之React中的列表与key
第十章:React从入门到进阶之表单及受控组件和非受控组件
第十一章:React从入门到进阶之组件的状态提升
第十二章:React从入门到进阶之组件的组合使用
第十三章:React从入门到进阶之组件的组件的懒加载及上下文Context
第十四章:React从入门到进阶之Refs&DOM以及Refs转发
第十五章:React从入门到进阶之高阶组件

高阶组件定义

  • 高阶组件(Higher Order Component,简称:HOC)是React中用于复用组件逻辑的一种高级技巧。HOC自身并不是React API的一部分,它是一种基于React的组合特性而形成的设计模式
  • 简单而言:高阶组件就是一个把组件作为参数,并且返回一个新组件的函数。例如:
//WrappedComponent:参数是一个组件
function higherOrderComponent(WrappedComponent){
   
	//返回一个新的组件
	return class extends React.Component{
   
		render(){
   
			return <WrappedComponent .../>
		}
	}
}
  • React 中组件是将props转换为UI,而高阶组件则是将组件转换为一个新的组件。高阶组件在第三方库中很常见,比如Redux中的connect和Relay中的createFragmentContainer
  • 接下来我们来看一下,为什么要使用高阶组件以及如何使用高阶组件

为什么要使用高阶组件

我们先来看一个案例,假如:现在有一个博客系统,其中有一个博客帖子组件BlogPost和对应博客的评论组件,这两个组件都是通过订阅外部数据源来渲染数据。

//博客帖子组件
class BlogPost extends React.Component {
   
	constructor(props){
   
		super(props);
		this.state = {
   
			// 假设 “DataSource”是一个全局数据源变量
			blogPost: DataSource.getBlogPost(props.id);
		}
	}
	componentDidMount(){
   
		//组件渲染完成后订阅更改
		DataSource.addChangeListener(this.handleChange);
	}
	componentWillUnMount(){
   
		//组件卸载前移除订阅
		DataSource.removeChangeListener
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值