首页 > 其他分享 >React组件基础四

React组件基础四

时间:2022-11-14 23:23:57浏览次数:48  
标签:触发 生命周期 渲染 DOM 基础 React 组件 时机

一.组件生命周期概述

  • 意义:组件的生命周期有助于理解组件的运行方式、完成更复杂的组件功能、分析组件错误原因等

  • 组件的生命周期:组件从被创建到挂载到页面中运行,再到组件不用时卸载的过程

  • 钩子函数的作用:为开发人员在不同阶段操作组件提供了时机。

  • 只有 类组件 才有生命周期。

二.生命周期的整体说明

2.1 挂载阶段

执行时机:组件创建时(页面加载时)

执行顺序:

 

钩子函数:

  • constructor  触发时机:创建组件时,最先执行;作用: 1.初始化state 2. 创建Ref等。
  • render 触发时机:每次组件渲染都会触发;作用:渲染UI(注意: 不能调用setState()
  • componentDidMount 触发时机:组件挂载(完成DOM渲染)后;作用:1. 发送网络请求 2.DOM操作

2.2 更新阶段

执行时机:1. setState() 2. forceUpdate() 3. 组件接收到新的props

说明:以上三者任意一种变化,组件就会重新渲染

执行顺序:

 

 钩子函数:

  • render 触发时机: 每次组件渲染都会触发;作用:渲染UI(与 挂载阶段 是同一个render)
  • componentDidUpdate 触发时机:组件更新(完成DOM渲染)后;作用:DOM操作,可以获取到更新后的DOM内容,不要调用setState

2.3 卸载阶段

执行时机:组件从页面中消失

钩子函数:

  • componentWillUnmount 触发时机: 组件卸载(从页面中消失);作用:执行清理工作(比如:清理定时器等)

 

标签:触发,生命周期,渲染,DOM,基础,React,组件,时机
From: https://www.cnblogs.com/lijingru/p/16890871.html

相关文章

  • java-io基础
    一、流的分类1、按操作的数据单位或传输方式:字符流,字节流。字节是给计算机看的,字符是给人看的2、数据的流向:输入流,输出流3、流的角色:文件流(节点流),处理流从数据来源或操......
  • Unity ContentSizeFitter组件
    ContentSizeFitter组件,它可以动态改变物体的宽高,但它有一个非常需要注意的点就是,它不是即时刷新,是帧末刷新,这个特性如果没注意会出现一个问题就是你拿到加了这个组件的......
  • vue+iviews 动态表格(table组件)
      iviews官网上关于table的使用方法是固定表头的使用方法,如何生成动态的table网上找了好多也没有特别合适的,综合几位博主的文章经过尝试终于实现了,分享出来供大家参考......
  • c++基础2
    模板c++另一种编程思想称为泛型编程,主要利用的技术就是模板c++提供两种模板机制:函数模板和类模板函数模板建立一个通用函数,函数的返回值类型和形参类型可以不具体指......
  • Vue2.x下的各组件如何传递信息?(不使用Vuex)
    Vue2(选项式)一,父组件向子组件传递数据:介绍:在引用的子组件中定义自定义属性msg与user.可以通过v-bind绑定要发送的数据。  在子组件中使用props接收自定义属性msg......
  • 66.有没有碰到过数组响应丢失(问的是ref和reactive的用法,什么情况下用)
    由于vue3使用proxy,对于对象和数组都不能直接整个赋值。  直接赋值丢失了响应性只有push或者根据索引遍历赋值才可以保留reactive数组的响应性 ;可以使用toRefs解决......
  • javaSE基础-集合
    集合集合中类的关系图数组与集合1、数组与集合数据存储简述集合、数组都是对多个数据进行存储操作的结构,简称java容器说明:此时的存储,主要指的是内存层面的存储,不涉及......
  • 嵌入式-Linux基础操作
    Crtl+Alt+T:调出命令窗口xrandr:列出分辨率列表 设置窗口的分辨率大小为1280x960:xrandr-s1280x960   通过命令窗口来执行一段C语言程序:VI工具的使用:(1)vifir......
  • Reactor模式
    Reactor模式基本设计思想,简单来讲就是I/O复用结合线程池 Reactor模式,是指通过一个或多个输入同时传递给服务处理器的服务请求的事件驱动处理模式。服务端程序处理传......
  • 59.ref和reactive的区别
    首先,ref和reactive定义响应式数据的,&vue3中的数据分为2类,一类没有响应式数据第二类是响应式数据;如果没有使用ref或者reactive定义数据,那么默认是第一类没有响应......