React中的componentWillUnmount 使用

如果你定义了 componentWillUnmount 方法,React 会在你的组件被移除屏幕(卸载)之前调用它。此方法常常用于取消数据获取或移除监听事件。

componentWillUnmount 内部的逻辑应该完全"对应"到 componentDidMount 内部的逻辑,例如,如果你在 componentDidMount 中设置了一个监听事件,那么 componentWillUnmount 中就应该清除掉这个监听事件。如果你的 componentWillUnmount 的清理逻辑中读取了一些 props 或者 state,那么你通常还需要实现一个 componentDidUpdate 来清理使用了旧 props 和 state 的资源(例如监听事件)。

复制代码
import React from 'react';
import './App.css';


class Bpp extends React.Component {

  componentWillUnmount() {
    console.log('组件卸载');
  }
  render() {
    return (
      <div>
        <h1>我是Bpp组件</h1>
      </div>
    );
  }
}

class App extends React.Component {

  constructor(props) {
    super(props);
    this.state = {
     bpp_show:true

    };
  }

  
  componentDidMount() {
    console.log('组件挂载完成');
  }
  //定义事件
  click = () => {
    this.setState({
      bpp_show:false
    })  }
  // 渲染组件UI,返回React元素
  render() {
    const { bpp_show } = this.state;
    return (
      <div>
        {bpp_show && <Bpp></Bpp>}
        <button onClick={this.click}>
      隐藏bpp
        </button>
      </div>
  
  )

  }
}

export default App;
相关推荐
YXWik66 小时前
记录前端请求接口在浏览器请求响应的Preview和Response展示的一样的问题
前端
2501_928996226 小时前
GPT-4o换DeepSeek迁移成本多少?中科热备解析API聚合平台技术账本
前端·数据库·人工智能
东风破_6 小时前
从跨域到 WebSocket:前端跨域方案、SSE 与双向实时通信详解
前端·后端
原则猫6 小时前
TS 类型工具
前端
excel7 小时前
Nuxt + Twin CSS 中宽度超过屏幕时底部出现空白的原因与解决方案
前端·javascript
计算机魔术师8 小时前
美国司法部正式站队 OpenAI,AI 训练的版权账要这么算了
前端
IT_陈寒8 小时前
React Hooks闭包陷阱差点让我加班到凌晨
前端·人工智能·后端
风骏时光牛马8 小时前
疑难Bug根因定位与问题复盘分析
前端
创新技术阁9 小时前
FastapiAdmin 系统日志体系与核心配置参数详解
前端·后端·fastapi
掘金酱9 小时前
【社区公告】签到与矿石奖励解耦说明
前端