码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【React】第六部分 生命周期


    【React】第六部分 生命周期


    文章目录

    • 【React】第六部分 生命周期
    • 6. 生命周期
      • 6.1 什么是生命周期
      • 6.2 生命周期流程图(旧)
      • 6.3 生命周期流程图(新)
      • 6.4 总结新旧生命周期
    • 总结


    6. 生命周期

    6.1 什么是生命周期

    1. 组件从创建到死亡它会经历一些特定的阶段。

    2. React组件中包含一系列钩子函数(生命周期回调函数), 会在特定的时刻调用。

    3. 我们在定义组件时,会在特定的生命周期回调函数中,做特定的工作。

    6.2 生命周期流程图(旧)

    在这里插入图片描述

    初始化阶段

    由ReactDOM.render()触发 -- 初次渲染

    1. constructor() 构造器函数
    2. componentWillMount()组件将要被挂载
    3. render() 页面渲染
    4. componentDidMount()组件挂载完毕
    5. componentWillUnmount() 组件将要被卸载

    更新阶段

    由组件内部this.setState()或者是父组件重新render触发

    1. shouldComponentUpdate() 开启更新(相当于一个开关)
    2. componentWillUpdate() 组件将要更新
    3. render()页面渲染
    4. componentDidUpdate()组件更新完毕
    5. componentWillUnmount() 组件将要被卸载

    强制更新阶段

    由组件内部this.forceUpdate()强制更新

    1. render()页面渲染
    2. componentDidUpdate()组件更新完毕
    3. componentWillUnmount() 组件将要被卸载

    卸载组件

    由ReactDOM.unmountComponentAtNode()触发卸载组件

    1. componentWillUnmount() 组件将要被卸载

    6.3 生命周期流程图(新)

    注意:

    废弃3个钩子

    1. componentWillMount 组件将要被挂载

    2. componentWillReceiveProps 组件将要接收参数

    3. componentWillUpdate 组件将要被更新

    新增2个钩子(想要了解更多可以移至官网)新增的2个钩子官方也表示用的地方很少

    1. getDerivedStateFromProps

    2. getSnapshotBeforeUpdate

    在这里插入图片描述

    初始化阶段

    由ReactDOM.render() 触发---初次渲染

    1. constructor() 构造器函数

    2. getDerivedStateFromProps ()

    3. render() 页面渲染

    4. componentDidMount() 组件挂载完毕

    5. componentWillUnmount()组件将要被卸载

    更新阶段

    由组件内部this.setSate()或父组件重新render触发或者组件内部this.forceUpdate()

    1. getDerivedStateFromProps()

    2. shouldComponentUpdate() 开启更新

    3. render() 页面渲染

    4. getSnapshotBeforeUpdate()

    5. componentDidUpdate()更新完毕

    6. componentWillUnmount()组件将要被卸载

    卸载组件

    由ReactDOM.unmountComponentAtNode()触发卸载组件

    1. componentWillUnmount() 组件将要被卸载

    6.4 总结新旧生命周期

    其实最重要最常用的钩子,在新旧生命周期中都没有发生变化

    1. render:初始化渲染或更新渲染调用

    2. componentDidMount:一般用于开启监听, 发送ajax请求

    3. componentWillUnmount:一般用于做一些收尾工作, 如: 清理定时器


    总结

    以上就是今天要讲的内容,希望对大家有所帮助!!!

  • 相关阅读:
    LabVIEW样式检查表6
    基于j2ee的交通管理信息系统/交通管理系统
    应用升级SpringCloud版本时的注意事项(Dalston升级到Edgware)
    【Pytorch】Yolov5中CPU转GPU过程报错完善留档归纳
    运维开发详解:从入门到精通
    【Java实战】创建第一个Springboot项目Hello world
    移动通信网络规划-容量评估和资源利用率评价
    理想汽车 x JuiceFS:从 Hadoop 到云原生的演进与思考
    编程小技巧6-在Idea中隐藏指定文件/文件夹
    vue实现的商品列表网页
  • 原文地址:https://blog.csdn.net/Trees__/article/details/126190516
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号