
调用流程可以参看上图。
React组件提供了生命周期的钩子函数去响应组件不同时刻的状态,组件的生命周期如下:
实例化
首次调用组件时,有以下方法会被调用(注意顺序,从上到下先后执行):
getDefaultProps
这个方法是用来设置组件默认的props,组件生命周期只会调用一次。但是只适合react.createClass直接创建的组件,使用ES6/ES7创建的这个方法不可使用,ES6/ES7可以使用下面方式:
//es7
class Component {
static defaultProps = {}
}
//或者也可以在外面定义es6
//Compnent.defaultProps
getInitialState
设置state初始值,在这个方法中你已经可以访问到this.props。getDefaultProps只适合React.createClass使用。使用ES6初始化state方法如下:
class Component extends React.Component{
constructor(){
this.state = {
render: true,
}
}
componentWillMount
改方法会在组件首次渲染之前调用,这个是在render方法调用前可修改state的最后一次机会。这个方法很少用到。
render
这个方法以后大家都应该会很熟悉,JSX通过这里,解析成对应的虚拟DOM,渲染成最终效果。格式大致如下:
class Component extends React.Component{
render(){
return (
<div></div>
)
}
componentDidMount
这个方法在首次真实的DOM渲染后调用(仅此一次)当我们需要访问真实的DOM时,这个方法就经常用到。如何访问真实的DOM这里就不想说了。当我们需要请求外部接口数据,一般都在这里处理。
存在期
实例化后,当props或者state发生变化时,下面方法依次被调用:
componentWillReceiveProps
每当我们通过父组件更新子组件props时(这个也是唯一途径),这个方法就会被调用。
componentWillReceiveProps(nextProps){}
shouldComponentUpdate
字面意思,是否应该更新组件,默认返回true。当返回false时,后期函数就不会调用,组件不会在次渲染。
shouldComponentUpdate(nextProps,nextState){}
componentWillUpdate
字面意思组件将会更新,props和state改变后必调用。
render
跟实例化时的render一样,不多说
componentDidUpdate
这个方法在更新真实的DOM成功后调用,当我们需要访问真实的DOM时,这个方法就也经常用到。
销毁期
销毁阶段,只有一个函数被调用:
componentWillUnmount
每当组件使用完成,这个组件就必须从DOM中销毁,此时该方法就会被调用。当我们在组件中使用了setInterval,那我们就需要在这个方法中调用clearTimeout。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关文章:
如何基于云服务器快速搭建网站及云盘系统?
大连网站设计制作招聘信息,大连投诉网站有哪些?
手机网站制作与建设方案,手机网站如何建设?
如何自定义建站之星网站的导航菜单样式?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
如何高效搭建专业期货交易平台网站?
北京网站制作的公司有哪些,北京白云观官方网站?
制作公司内部网站有哪些,内网如何建网站?
如何在Ubuntu系统下快速搭建WordPress个人网站?
如何在橙子建站中快速调整背景颜色?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
c# 在ASP.NET Core中管理和取消后台任务
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
一键制作网站软件下载安装,一键自动采集网页文档制作步骤?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
*服务器网站为何频现安全漏洞?
在线教育网站制作平台,山西立德教育官网?
如何访问已购建站主机并解决登录问题?
如何通过PHP快速构建高效问答网站功能?
javascript中对象的定义、使用以及对象和原型链操作小结
建站主机选哪种环境更利于SEO优化?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
深入理解Android中的xmlns:tools属性
如何用y主机助手快速搭建网站?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
c# await 一个已经完成的Task会发生什么
制作表格网站有哪些,线上表格怎么弄?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
如何在云虚拟主机上快速搭建个人网站?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
电商网站制作价格怎么算,网上拍卖流程以及规则?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
为什么Go需要go mod文件_Go go mod文件作用说明
如何在阿里云虚拟服务器快速搭建网站?
Python多线程使用规范_线程安全解析【教程】
如何在云主机快速搭建网站站点?
南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
公众号网站制作网页,微信公众号怎么制作?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
长沙做网站要多少钱,长沙国安网络怎么样?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
如何破解联通资金短缺导致的基站建设难题?
如何彻底删除建站之星生成的Banner?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
郑州企业网站制作公司,郑州招聘网站有哪些?
如何通过远程VPS快速搭建个人网站?
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
*请认真填写需求信息,我们会在24小时内与您取得联系。