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 Grid Layout基础使用示例教程

    React Grid Layout基础使用示例教程

    React Grid Layout是一个用于在React应用程序中创建可拖拽和可调整大小的网格布局的库,通过使用React Grid Layout,我们可以轻松地创建自适应的网格布局,并实现拖拽和调整大小的功能,本文介绍了React Grid Layout的基础使用方法,感兴趣的朋友一起看看吧
    2024-02-02
  • React解析html 标签的方法

    React解析html 标签的方法

    在React中,解析HTML标签通常是使用JSX(JavaScript XML)语法的一部分,这篇文章主要介绍了React 用来解析html 标签的方法,本文通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • 详解在React-Native中持久化redux数据

    详解在React-Native中持久化redux数据

    这篇文章主要介绍了在React-Native中持久化redux数据,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • React useState超详细讲解用法

    React useState超详细讲解用法

    我正在处理的组件是表单的时间输入。表单相对复杂,并且是动态生成的,根据嵌套在其他数据中的数据显示不同的字段。我正在用useReducer管理表单的状态,到目前为止效果很好
    2022-11-11
  • react中useRef的使用和渲染机制

    react中useRef的使用和渲染机制

    本文主要介绍了react中useRef的使用和渲染机制,react useRef
    2025-11-11
  • React 小技巧教你如何摆脱hooks依赖烦恼

    React 小技巧教你如何摆脱hooks依赖烦恼

    Hooks 是一种函数,该函数允许您从函数式组件 “勾住(hook into)” React 状态和生命周期功能。 Hooks 在类内部不起作用 - 它们允许你无需类就使用 React,本文带领大家学习React 小技巧教你如何摆脱hooks依赖烦恼,感兴趣的朋友一起看看吧
    2021-05-05
  • React中代码分割的4种实现方式

    React中代码分割的4种实现方式

    虽然一直有做react相关的优化,按需加载、dll 分离、服务端渲染,但是从来没有从路由代码分割这一块入手过,所以下面这篇文章主要给大家介绍了关于React中代码分割的4种实现方式,需要的朋友可以参考下
    2022-01-01
  • React中处理表单数据实现方式

    React中处理表单数据实现方式

    本文介绍了如何在React中处理表单数据,包括控制组件和非控制组件的使用,通过控制组件,表单的输入值由React组件的状态控制;非控制组件通过ref来访问表单输入的当前值,文章还展示了如何处理多个输入和添加验证和样式,以提供更好的用户体验
    2025-02-02
  • Redux中间件的使用方法教程

    Redux中间件的使用方法教程

    中间件就是一个函数,对store.dispatch方法进行了改造,在发出 Action 和执行 Reducer 这两步之间,添加了其他功能,要理解中间件,关键点是要知道,这个中间件是连接哪些部分的软件,它在中间做了什么事,提供了什么服务
    2023-01-01
  • React星星评分组件的实现

    React星星评分组件的实现

    评分插件在购物的应用中经常可以看得到,但是用着别人的总是没有自己写的顺手,本文就使用React实现星星评分组件,感兴趣的可以了解一下
    2021-06-06

最新评论