react类标签的生命周期详解

 更新时间:2024年11月08日 14:14:08   作者:大雾.  
在React类组件中,生命周期方法是非常重要的概念,它们允许我们在组件的不同阶段执行代码,这包括在组件挂载、更新以及卸载时执行的生命周期方法,本文通过介绍React类组件中的生命周期方法,旨在帮助开发者深入理解组件的生命周期管理

子组件中的代码

import React from "react";
class Son extends React.Component {
  // 构造函数:初始化状态
  constructor(props) {
    super(props);
    // 使用 props 初始化 state
    this.state = {
      count: props.initialCount || 0, // 从 props 传入的初始计数
      name: props.name || "Son", // 从 props 传入的初始名称
      isshow: props.isshow || true, // 从 props 传入的初始是否显示
    };
  }
  componentDidMount() {
    console.log("son componentDidMount");
  }
  //  shouldComponentUpdate - 控制是否更新组件
  shouldComponentUpdate(nextProps, nextState) {
    console.log("son shouldComponentUpdate");
    return true; // 默认返回 true,表示每次都更新
  }
  // componentDidUpdate - 更新后调用
  componentDidUpdate(prevProps, prevState) {
    console.log("son componentDidUpdate");
  }
  //  componentWillUnmount - 组件卸载前调用
  componentWillUnmount() {
    console.log("son componentWillUnmount");
  }
  // 增加计数的方法
  increment = () => {
    this.setState((prevState) => ({
      count: prevState.count + 1,
    }));
  };
  // 减少计数的方法
  decrement = () => {
    this.setState((prevState) => ({
      count: prevState.count - 1,
    }));
  };
  // 渲染方法:显示组件内容
  render() {
    return (
      <div>
        {this.state.isshow && (
          <div>
            <h2>计数器</h2>
            <p>当前名字: {this.state.name}</p>
            <p>当前计数: {this.state.count}</p>
            <button onClick={this.increment}>增加</button>
            <button onClick={this.decrement}>减少</button>
          </div>
        )}
      </div>
    );
  }
}
export default Son;

父组件中代码

import React from "react";
import Son from "./son";
class fa extends React.Component {
    constructor(props) {
        super(props);
        // 使用 props 初始化 state
        this.state = {
          isshow:true
        };
      }
  componentDidMount() {
    console.log("fa componentDidMount");
  }
  //  shouldComponentUpdate - 控制是否更新组件
  shouldComponentUpdate(nextProps, nextState) {
    console.log("fa shouldComponentUpdate");
    return true; // 默认返回 true,表示每次都更新
  }
  //  componentDidUpdate - 更新后调用
  componentDidUpdate(prevProps, prevState) {
    console.log("fa componentDidUpdate");
  }
  //  componentWillUnmount - 组件卸载前调用
  componentWillUnmount() {
    console.log("fa componentWillUnmount");
  }
  render() {
    return (
      <div>
        <h1>父组件</h1>
        <button onClick={()=>{
            this.setState({
              isshow:!this.state.isshow
            })
        }}>显示/隐藏</button>
        {/* 传递 initialCount 到子组件 Counter */}
        <Son initialCount={5} name={"liu"} isshow={this.state.isshow}/>
      </div>
    );
  }
}
export default fa;

挂载时候打印出来的是

当子组件中counter进行更新时候执行的生命周期

当子组件卸载时候执行的生命周期

每个阶段的生命周期

到此这篇关于react类标签的生命周期的文章就介绍到这了,更多相关react生命周期内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • React 项目中动态设置环境变量

    React 项目中动态设置环境变量

    本文主要介绍了React 项目中动态设置环境变量,本文将介绍两种常用的方法,使用 dotenv 库和通过命令行参数传递环境变量,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 使用react+redux实现弹出框案例

    使用react+redux实现弹出框案例

    这篇文章主要为大家详细介绍了使用react+redux实现弹出框案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • 详解在React中跨组件分发状态的三种方法

    详解在React中跨组件分发状态的三种方法

    这篇文章主要介绍了详解在React中跨组件分发状态的三种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • 一文详解ReactNative状态管理redux-toolkit使用

    一文详解ReactNative状态管理redux-toolkit使用

    这篇文章主要为大家介绍了ReactNative状态管理redux-toolkit使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • 浅谈React Refs 使用场景及核心要点

    浅谈React Refs 使用场景及核心要点

    本文主要介绍了React Refs 使用场景及核心要点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 详解React中的不可变值

    详解React中的不可变值

    这篇文章主要介绍了React中的不可变值的相关资料,帮助大家更好的理解和学习使用react.js,感兴趣的朋友可以了解下
    2021-04-04
  • React+Koa实现文件上传的示例

    React+Koa实现文件上传的示例

    这篇文章主要介绍了React+Koa实现文件上传的示例,帮助大家更好的理解和学习使用React,感兴趣的朋友可以了解下
    2021-04-04
  • React Native设备信息查看调试详解

    React Native设备信息查看调试详解

    这篇文章主要为大家介绍了React Native设备信息查看调试详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • 使用React和Redux Toolkit实现用户登录功能

    使用React和Redux Toolkit实现用户登录功能

    在React中,用户登录功能是一个常见的需求,为了实现该功能,需要对用户输入的用户名和密码进行验证,并将验证结果保存到应用程序状态中,在React中,可以使用Redux Toolkit来管理应用程序状态,从而实现用户登录功能,需要详细了解可以参考下文
    2023-05-05
  • React Context 变迁及背后实现原理详解

    React Context 变迁及背后实现原理详解

    这篇文章主要为大家介绍了React Context 变迁及背后实现原理示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11

最新评论