react 生命周期函数介绍

简介: constructor():构造函数 执行:组件加载钱最先调用一次,仅调用一次。 作用:定义状态机变量。 注意:第一个语句必须为super(), 否则会报错:'this' is not allowed before super() constructor(props) { super(props); this.state = { content:null, } }    componentWillMount() 执行:组件初始渲染(render()被调用前)前调用,仅调用一次。

constructor():构造函数

执行:组件加载钱最先调用一次,仅调用一次。

作用:定义状态机变量。

注意:第一个语句必须为super(), 否则会报错:'this' is not allowed before super()

constructor(props) {  
    super(props);  
    this.state = {  
      content:null,  
    }  
}     

 

 componentWillMount()

执行:组件初始渲染(render()被调用前)前调用,仅调用一次。

作用:如果这个函数调用的setState改变了组件的某些状态,react会等待setState完成后再渲染组件。

注意:子组件也有componentWillMount函数,在父组件的该函数调用后再调用。

 


 render()

执行:componentWillMount调用之后, componentDidMount调用之前。

作用:渲染挂载组件。

触发:1、初始化加载页面,2、状态机改变setState,3、接收新的props(父组件更新)

注意:组件必要函数,不能在函数内使用setState改变状态机。

 


  

componentDidMount()

时间:render之后被调用,仅调用一次。

作用:渲染挂载组件,可以使用refs(react支持的一个特殊属性,可以将它加在render函数返回的组件元素上,起一个标记作用,方便定位。)

注意:子组件也有该函数,在父组件调用前调用;如果该函数内有setState改变状态机,将会重新渲染组件,如果需要在页面初始化之后才改变状态机的,可以将网络请求放在该函数内。

 


  

componentWillReceiveProps(nextProps)

时间:组件渲染后,当组件接收新的nextProps时被调用。函数接收一个新的nextProps对象,nextProps是父组件传给子组件的。父组件render之后就会被调用。

作用:渲染挂载组件,可以使用refs(react支持的一个特殊属性,可以将它加在render函数返回的组件元素上,起一个标记作用,方便定位。)

注意:react初次渲染时不会被调用。

 


 

 shouldComponentUpdata(nextProps, nextState)

时间:组件执行render函数之后,接收新的props或state时被调用,即每次执行setState都会执行该函数,来判断是否重新渲染组件,默认返回true,接收两个参数。

作用:如果有些变化不需要执行渲染组件,可在该函数内阻止。

注意:不能在该函数内使用setState来改变状态机,如需要,请在componentWillReciveProps中改变。


  

componentDidUpdata()

时间:组件重新渲染后调用,在初始化渲染的时候该方法不会被调用。

作用:使用该方法可以在组件更新之后操作DOM元素。

 


  

componentWillUnmount()

时间:组件卸载之前调用。

作用:在该方法中执行必要的清理,比如无效的定时器后者在componentDidMount中创建的DOM元素。


  

注意

当一个页面中存在父子组件的时候,要特别注意componentDidMount的使用,因为子组件的componentDidMount会比父组件先调用,从而会引起父子组件传参错误。

 

每一次的记录,都是向前迈进的一步
目录
相关文章
|
2天前
|
前端开发 JavaScript 开发者
介绍一下React生命周期
介绍一下React生命周期
27 9
|
1月前
|
前端开发 JavaScript
React的生命周期演示-新(12)
【8月更文挑战第15天】React的生命周期演示-新
33 5
React的生命周期演示-新(12)
|
17天前
|
前端开发 API UED
React组件生命周期详解
【9月更文挑战第4天】在React应用开发中,掌握组件生命周期对于管理状态和属性至关重要,并能有效提升应用性能。本文详细介绍了React组件生命周期的三个阶段:挂载、更新和卸载,并通过代码示例展示了如何避免状态更新导致的死循环及优化网络请求等问题,帮助开发者构建更高效、可维护的应用。
32 2
|
21天前
|
前端开发 JavaScript
React 组件的生命周期阶段详解
【8月更文挑战第30天】
36 2
|
21天前
|
前端开发 JavaScript
React 组件生命周期方法详解
【8月更文挑战第30天】
33 1
|
1月前
|
前端开发 JavaScript
React的生命周期演示-旧(11)
【8月更文挑战第15天】React的生命周期演示-旧(11)
25 3
|
20天前
|
前端开发 JavaScript 开发者
React生命周期方法完全指南:深入理解并高效应用每个阶段的钩子——从初始化到卸载的全方位解析
【8月更文挑战第31天】本文详细介绍了React组件生命周期方法,包括初始化、挂载、更新和卸载四个阶段的关键钩子。通过探讨每个阶段的方法,如`componentDidMount`和`componentWillUnmount`,帮助开发者在正确时机执行所需操作,提升应用性能。文章还提供了最佳实践,指导如何避免常见错误并充分利用最新钩子。
33 0
|
20天前
|
前端开发 JavaScript 开发者
React 中的生命周期方法是什么?
【8月更文挑战第31天】
31 0
|
20天前
|
前端开发 JavaScript
React 中的函数组件和类组件
【8月更文挑战第31天】
34 0
|
27天前
|
前端开发 JavaScript 开发者
React 组件生命周期的详细描述
【8月更文挑战第24天】
32 0