import React, { Component } from "react";

export default class Shengming extends Component {
// 调用父类的 constructor方法;传递props属性,染发props属性起作用
constructor(props) {
super(props); // 定义初始值
this.state = {
num: 20,
};
console.log("1-1我是挂载阶段的第一个生命周期函数");
}
// UNSAFE
componentWillMount() {
console.log("1-2挂载数据之前");
} componentDidMount() {
// 用来发送请求
console.log("1-4数据已经挂载好了");
} // =======================更新阶段
UNSAFE_componentWillReceiveProps() {
// 在更新props属性的时候,会触发这个属性当你没有props这个参数的时候,就不会触发哈
//有props的时候,就会触发
console.log("2-1-props 在接受props属性之前,只有prps改变才会执行这个函数");
} shouldComponentUpdate(nextProps, nextState) {
// 是否要跟新数据
console.log("2-2-props 在接受props属性之前", nextProps, nextState);
// return true; //这里表示是否跟新;true表示跟新数据,然后执行render函数; false表示不跟新数据不会执行后续的函数
// Shengming.shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false.
// 返回未定义的值,而不是布尔值。确保返回true或false。 // 那我们什么时候,return true;如果我们 的数据发生变化了,就return true;
// 数据没有发生改变,就return false return nextState.num == this.state.num } componentWillUpdate() {
console.log("2--3跟新数据之前");
} componentDidUpdate() {
console.log("2--4跟新数据之后");
} changeState() {
console.log(1);
this.setState({
num: 30,
});
} static defaultProps = {
bg: "pink",
wi: "100px",
he: "100px",
};
// ===================================第三阶段
componentWillUnmount() {
console.log("3-1组件销毁的时候执行");
// 在最后一个生命周期中;执行事件的销毁;或者销毁某些值的引用;
// 比如;你在这个组件中给document;注册了一个事件;
// 当这个组件都消失了,按理说这个事件就应该销毁;
// 但是如果你不做处理的话,那么这个事件在其他组件页面仍然会被触发哈;
} render() {
console.log("1-3render 标签渲染到页面");
return (
<div style={{
background: this.props.bg,
width: this.props.wi,
height: this.props.he,
}}>
123==》{this.state.num}
<br />
<button onClick={this.changeState.bind(this)}>按钮</button>
</div>
);
}
}

react生命周期-渲染阶段的更多相关文章

  1. 22.1 、react生命周期(一)

    在每个react组件中都有以下几个生命周期方法~我们需要在不同阶段进行讨论 组件生命周期概述 1.初始化 在组件初始化阶段会执行 constructor static getDerivedStateF ...

  2. 前端005/React生命周期

    ES6中React生命周期 一.React生命周期 React生命周期主要包括三个阶段:初始化阶段.运行中阶段和销毁阶段. 在React不同的生命周期里,会依次触发不同的钩子函数. 二.React的生 ...

  3. 4.React生命周期

    4.React生命周期 4.1引出生命周期 class Life extends React.Component { state = { opacity:0.5 } death = () => ...

  4. React生命周期和响应式原理(Fiber架构)

    注意:只有类组件才有生命周期钩子函数,函数组件没有生命周期钩子函数. 生命周期 装载阶段:constructor() render() componentDidMount() 更新阶段:render( ...

  5. React生命周期

    在react生命周期中,分2段执行,一个挂载的生命周期,一个是组件发生了数据变动,或者事件触发而引发的更新生命周期. 注:react生命周期很重要,对于很多组件场景的应用发挥重要作用,而且不熟悉生命周 ...

  6. React 生命周期

    前言 学习React,生命周期很重要,我们了解完生命周期的各个组件,对写高性能组件会有很大的帮助. Ract生命周期 React 生命周期分为三种状态 1. 初始化 2.更新 3.销毁 初始化 1.g ...

  7. React生命周期简单详细理解

    前言 学习React,生命周期很重要,我们了解完生命周期的各个组件,对写高性能组件会有很大的帮助. Ract生命周期 React 生命周期分为三种状态 1. 初始化 2.更新 3.销毁 初始化 1.g ...

  8. react复习总结(2)--react生命周期和组件通信

    这是react项目复习总结第二讲, 第一讲:https://www.cnblogs.com/wuhairui/p/10367620.html 首先我们来学习下react的生命周期(钩子)函数. 什么是 ...

  9. React生命周期执行顺序详解

    文章内容转载于https://www.cnblogs.com/faith3/p/9216165.html 一.组件生命周期的执行次数是什么样子的??? 只执行一次: constructor.compo ...

  10. vue生命周期和react生命周期对比

    一 vue的生命周期如下图所示(很清晰)初始化.编译.更新.销毁 二 vue生命周期的栗子 注意触发vue的created事件以后,this便指向vue实例,这点很重要 <!DOCTYPE ht ...

随机推荐

  1. 一文带你搞懂GaussDB数据库性能调优

    本文分享自华为云社区<[GaussTech技术专栏]GaussDB性能调优>,作者:GaussDB 数据库. 数据库性能调优是一项复杂且系统性的工作,需要综合考虑多方面的因素.因此,调优人 ...

  2. 时序数据库之InfluxDB

    涉及用户认证: shangmayuan.com/a/1056241c80ef4dfc9cef830d.html

  3. Net5学习笔记

    IOC 容器IServiceCollection 什么是Ioc 把对象的统一创建交给第三方容器来创建 如何使用内置IOC ServerCollection 1.在Starup中的ConfigurSer ...

  4. RabbitMQ快速入门 整合 SpringBoot

    RabbitMQ快速入门 整合 SpringBoot 概述 大多应用中,可通过消息服务中间件来提升系统异步通信.扩展解耦能力.流量削峰 消息服务中两个重要概念: 消息代理(`message broke ...

  5. 在分布式追踪系统中使用 W3C Trace Context

    在分布式追踪系统中使用 W3C Trace Context https://dev.to/luizhlelis/using-w3c-trace-context-standard-in-distribu ...

  6. 反微服务架构(A Macro Services Framework)

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 反微服务架构(A Macro Services Frame ...

  7. 【Python】2023年Python期末复习题

    Python百分百挂科指南 出题人,出的题,水平不咋样,给出的参考答案一堆错误,给出的正确选项单词都能拼错. 非本次考试人员不必看,没有参考价值 选择题 下列哪个标识符是不合法的()D A. Name ...

  8. 【C#】接口的基本概念

    目录 基本 什么是接口 接口与抽象类的区别 抽象类 接口 实例 设计接口 基本 什么是接口 C#接口(interface)是:用来定义一种程序的协定 实现接口的类或者结构要与接口的定义严格一致. 有了 ...

  9. betterZip解压后压缩包会删除 zip文件解压后原压缩文件能不能删掉

    https://www.betterzipcn.com/faq/better-ydeq.html 品牌型号:MacBook Book Air 系统:MacOS Mojave 10.14 软件版本:Be ...

  10. mysql转换类型、类型转换、查询结果类型转换

    一.问题来源 数据库一张表的主键id设为了自增,那就是int型的,但是其他表的关联字段又设置成了字符串! 而且已经开发了很久才发现问题,既然出现了问题肯定需要解决 如图 很明显id是不一样的,花了点时 ...