zoukankan      html  css  js  c++  java
  • react生命周期

    constructor:  

        1.当前生命周期函数的作用是用来做初始化工作的,在调用的时候必须在内部调用super,否则this的指向会发生错误

        2.当前生命周期函数可以用来定义当前组件所需要的一些状态值

        3.在constructor中如果需要使用props的时候需要在super中继承过来

    componentWillMount:

        1.当前生命周期函数可以用来接收外部的数据,将外部的数据转换成内部的数据,在这个生命周期里面尽量不要使用setState  因为当前生命周期函数执行完毕后就会执行render

        2.用来做数据的最后修改

        3.当前生命周期函数在新版本中被废除

    render:渲染

        1.当this.state/this.props发生改变的时候render函数就会执行

        2.render函数每次执行的时候都会将虚拟DOM在缓存中缓存一份,当下一次render函数执行的时候会和缓存中的虚拟DOM进行对比(这种对比叫做diff算法) 将发生改变的虚拟DOM进行更新

    shouldComponentUpdate

        1.当前生命周期函数必须有一个返回值,如果返回true则继续执行下面的生命周期函数,如果返回值为false则不会执行下面的生命周期函数

        2.shouldComponentUpdate生命周期函数中我们可以做性能的优化,如果说当前数据改变后没有必要进行render的渲染,我们就可以return  false   如果需要渲染则返回return  来减少不必要的渲染

        3.当前生命周期函数中会有2个参数一个是新的props  一个是新的state

        4.当前生命周期函数决定的是render函数是否渲染,而不是数据是否更新

    componentWillUpdate

        1.当前生命周期函数用来做数据最后的更新处理

        2.当前生命周期函数中会有2个参数   一个是新的props  一个是新的state

    componentDidUpdate

        1.数据更新完毕,获取到数据更新后的最新的DOM结构

        2.当前生命周期函数中会接收2个参数   一个旧的props   一个旧的state   

    componentWillReceiveProps

        1.当this.props发生改变的时候那么当前生命周期函数就会执行

        2.当前生命周期函数中有一个参数   新的props

        3.可以用来做外部数据的处理

    componentWillUnmount

        1.当前生命周期函数用来做组件的销毁/移除

          

          

  • 相关阅读:
    C#Redis缓存帮助类
    [RxSwift教程]9、过滤操作符:filter、take、skip等
    [RxSwift教程]8、变换操作符:buffer、map、flatMap、scan等
    [RxSwift教程]7、Subjects、Variables
    [RxSwift教程]6、观察者2: 自定义可绑定属性
    [RxSwift教程]5、观察者1: AnyObserver、Binder
    [RxSwift教程]4、Observable订阅、事件监听、订阅销毁
    [RxSwift教程]3、Observable介绍、创建可观察序列
    [RxSwift教程]2、响应式编程与传统式编程的比较样例
    [RxSwift教程]1、安装、介绍
  • 原文地址:https://www.cnblogs.com/tong-yao/p/10693996.html
Copyright © 2011-2022 走看看