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. 云开发实践:从 0 到 1 带你玩 AI

    今天我们将深入分析云开发的 AI 能力.这次的讨论焦点不再是之前提到的云端IDE编写代码的能力,而是更为广泛和实际的内容--如何利用云平台提供的各种模块化能力,快速高效地开发.今天的主题依然围绕AI展 ...

  2. TSCTF-J2024 密码向WP(5/8)

    ezRSA part 1 #part1 p = getPrime(512) q = getPrime(512) n = p * q phi = (p-1) * (q-1) d = getPrime(2 ...

  3. BI系统汇总

    datart datart (数艺)是面向业务人员.数据工程师.数据分析师.数据科学家,致力于提供一站式数据可视化解决方案.既可以作为公 有云 / 私有云部署使用,也可作为可视化插件集成到三方系统.用 ...

  4. Linux系统之Ubuntu

    常用命令: #查看安装包 dpkg -l 1)切换镜像源 本身的镜像都是国外的,下载依赖包太慢, 需要替换成国内镜像地址 国内镜像源推荐阿里 OPSX 源: https://opsx.alibaba. ...

  5. 服务器安全之DenyHosts

    情景:今天登录服务器,突然发现登录之后展示的信息有点多,仔细端倪发现: There were 3975 failed login attempts since the last successful ...

  6. GraphQL Part V: 字段,参数和变量

    字段 我们对字段已经有了好的起点,我们在 HelloWorldQuery 中有两个字段:hello 和 world.他们都是单值字段. 现在我们可以扩展应用来支持复杂类型.例如,我们想象一下,我们在创 ...

  7. 判断移动终端类型安卓苹果鸿蒙、查看设备详细信息、跳转到各手机应用商店、判断APP是否已安装

      案例1:判断移动终端类型,微信扫描二维码链接可以区分华为(荣耀).安卓.苹果手机.华为及荣耀会跳到华为应用商店.安卓会提示浏览器打开.苹果跳到苹果商店. <!DOCTYPE html> ...

  8. Karmada v1.12 版本发布!单集群应用迁移可维护性增强

    本文分享自华为云社区<Karmada v1.12 版本发布!单集群应用迁移可维护性增强>,作者:云容器大未来. Karmada 是开放的多云多集群容器编排引擎,旨在帮助用户在多云环境下部署 ...

  9. Qt编写物联网管理平台46-云端数据同步

    一.前言 在上一篇文章说的采集数据转发的基础上,针对方案一还做了云端数据同步功能,满足各式各样的用户需求.云端数据库同步,相当于把本地采集到的数据实时存储到云端,至于这些记录到了云端后什么用途,客户端 ...

  10. Qt编写地图综合应用42-离线轮廓图

    一.前言 离线轮廓图使用起来,就没有在线轮廓图方便了,在线的可以直接传入名称拿到,离线的只能自己绘制了,一般需要用区域轮廓图下载器将你需要的区域下载好对应的js文件,其实就是一堆坐标点集合数组,这些数 ...