前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速学习-React 生命周期简介

快速学习-React 生命周期简介

作者头像
cwl_java
发布2020-04-16 11:38:32
4700
发布2020-04-16 11:38:32
举报
文章被收录于专栏:cwl_Javacwl_Java

React 生命周期简介

React 生命周期(v16之前)

在这里插入图片描述
在这里插入图片描述

生命周期四阶段主要函数

组件初始化(initialization)

  • construtor() 可以给 this.state 赋初值

挂载(Mounting)阶段

  • componentWillMount():在组件挂载到DOM前调用,且只会被调用一次
  • render():根据组件的 props 和 state 返回一个React元素
  • componentDidMount():组件挂载到DOM后调用,且只会被调用一次

更新(update)阶段

卸载(Unmounting)阶段

  • componentWillUnmount():组件被卸载前调用,可以在这里执行一些清理工作

更新(Update)阶段

造成组件更新的原因

  • 父组件重新render,子组件将直接跟着重新渲染,无论props是否有变化
  • 组件本身调用setState,无论state有没有变化

生命周期函数

  • componentWillReceiveProps(nextProps):只调用于props引起的组件更新过程中
  • shouldComponentUpdate(nextProps, nextState)
  • componentWillUpdate(nextProps, nextState) :调用render方法前执行
  • render()
  • componentDidUpdate(prevProps, prevState):组件更新后被调用

React 生命周期(v16.4)

在这里插入图片描述
在这里插入图片描述

新引入的生命周期函数

  • getDerivedStateFromProps(props, state) • 在组件创建时和更新时的 render 方法之前调用 • 它应该返回一个对象来更新状态,或者返回null来不更新任何内容
  • getSnapshotBeforeUpdate(prevProps, prevState) • 被调用于render之后,可以读取但无法使用DOM的时候 • 它使组件可以在更改之前从DOM捕获一些信息(例如滚动位置) • 返回的任何值都将作为参数传递给componentDidUpdate
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-04-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • React 生命周期简介
    • React 生命周期(v16之前)
      • 生命周期四阶段主要函数
        • 组件初始化(initialization)
        • 挂载(Mounting)阶段
        • 更新(update)阶段
        • 卸载(Unmounting)阶段
      • 更新(Update)阶段
        • 造成组件更新的原因
        • 生命周期函数
      • React 生命周期(v16.4)
        • 新引入的生命周期函数
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档