码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • react生命周期钩子函数


    在react中,对于每一次由状态改变导致视图改变的操作,都会经历两个阶段:render和commit阶段。

    只有在类组件中才有生命周期,因为类组件会创建对应的实例;而函数组件不会。

    生命周期:组件实例从被闯进啊到被销毁的过程成为组件的生命周期。

    由class组件创建的实例是具有生命周期的,它的render函数就在render阶段执行,并且内部的diff算法会自动计算哪个DOM发生变化进而去操作。在commit阶段将对应的DOM节点提交到视图上完成显示。

    render()阶段

    render阶段会执行很多钩子函数,例如:在首次渲染时执行constructor,getDerivedStateFromProps,componentWillMount,render

    在执行更新时:componentWillReceiveProps,shouldComponentUpdate,componentWillUpdate,render

    在渲染阶段如果捕捉到了组件中的错误,则会执行getDerivedStateFromError

    接下来说说每个调用时期与作用。

    constructor

    该方法只会调用一次,所以可以实现this的一次性绑定。

    在初始化阶段,可以This.state为状态赋值,也可以设置一些静态的数据。

    componentWillReceiveProps(旧的)

    如果组件接收到了新的props,则会第一时间触发这个函数。

    在首次渲染组件的时候不会调用此生命周期钩子函数;使用this.setState()也不会触发此生命周期钩子函数。

    但,如果是父组件渲染导致自组件的重新渲染,即使传给子组件的props没变,该组件中的这个生命周期函数也会被调用。

    我们一般不使用该函数。

    getDerivedStateFromProps(新的)

    它是一个静态方法,会接受props和state两个参数。他会在调用render方法之前被调用。无论是初始render还是gengxinrender都会触发它。

    像他的名字一样,可以从props中获取衍生的state。它的调用时机和 componentWillMount、componentWillUpdate、componentWillReceiveProps 一样都是在 render 方法被调用之前,它可以作为 componentWillMo

  • 相关阅读:
    Selenium的find_element()与find_elements()和By的几种方法
    使用canal解决Mysql和Redis数据同步(TCP)
    springboot仓库管理系统
    java-php-python-ssm医药网络挂号系统计算机毕业设计
    性能测试-基础篇
    PC电脑 VMware安装的linux CentOs7如何扩容磁盘?
    嵌入式开发:使用FILL提高代码完整性
    Android 平板、手机: 忘记密码处理及刷机处理技术贴(以三星为例)
    数据结构——单链表
    什么无线蓝牙耳机好用?双十一新手必看的蓝牙耳机推荐
  • 原文地址:https://blog.csdn.net/pfourfire/article/details/127406271
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号