react生命周期详解
React是一个用于构建会员界面的JavaScript库,它主要用于构建UI,它具有较高的机能并且代码逻辑非常简便。今天将要介绍的是React的生命周期,具有必然的参照 作用,但愿对大家有所帮忙。
【引荐课程:react教程】
react生命周期分为三个阶段离别是:初始化阶段,更新阶段,烧毁阶段。接下来在文章中将为大家具体介绍
初始化阶段:
即把组件第一次在DOM树中停止渲染
import React, { Component } from 'react'; class Test extends Component { constructor(props) { super(props); } }
初始化阶段也就是上述代码中类的结构办法一样,Test类继承了react Component基类,也就等同于继承了react的基类,这样才有了render(),即生命周期等办法才可以使用。
代码中super(props)主如果用来调取基类的结构办法constructor()的,同时也将父组件的props注入给子组件,让子组件读取。在这里需要留意的是组件中props只读不成变,而state是可变的。
结构函数constructor()是用来做一些组件的初始化工作,如定义this.state中的初始内容
更新阶段:
表示组件被从新渲染的历程
当props或者是state被修改时,就会触发组件的更新历程
componentWillReceiveProps(nextProps)
当父组件的render函数被调取时,在render函数里被渲染的子组件,都会经历更新的历程,不管父组件传给子组件的props有没有改动,都会触发componentWillReciveProps
留意this.setState触发的更新,不会调取上述的办法。假如this.setState的调取触发了上述的办法,则会致使死轮回。只要当nextProps和this.props两者有转变的时候,才会调取this.setState来更新组件内部的state
shouldComponentUpdate(nextProps,nextState)
该办法决议了一个组件什么时候不需要渲染 ,假如使用的适当则会提高机能
当返回true时则调取componentWillUpdate,render,componentDidUpdate,不然不会有后续的办法调取。
实际上,React做效劳器端渲染的时候,根本上不会经历更新历程,由于效劳端渲染,只需要产出HTML的字符串就好了,而初始化阶段就可以实现,所以一样状况下,效劳器端是不会调取compentDidUpdate办法,假如调取了说明程序出错了,需要改善
烧毁阶段:
表示组件从DOM中删除的历程
在烧毁阶段只要一个生命周期办法:
componentWillUnmount
这个办法在组件被烧毁前调取,主要施行一些清算工作,比方清除组件中使用的按时器,componentDidMount中手动创立的DOM元素等,以幸免引发内存走漏。
总结:以上就是本篇文章的全部内容了,但愿对大家有所帮忙。
以上就是react生命周期详解的具体内容,更多请关注百分百源码网其它相关文章!