好客租房62-组件的生命周期三个阶段-4卸载时
执行时机
//导入react import React from 'react' import ReactDOM from 'react-dom' import PropTypes from 'prop-types' //导入组件 // 约定1:类组件必须以大写字母开头 // 约定2:类组件应该继承react.component父类 从中可以使用父类的方法和属性 // 约定3:组件必须提供render方法 // 约定4:render方法必须有返回值 class App extends React.Component{ constructor(props){ super(props) console.log('生命周期钩子函数:construtor') this.state={ count:0 } } //初始化state //1进行dom操作 //2发送网络请求 componentDidMount(){ const title=document.getElementById("title") console.log(title,"title") console.log('生命周期钩子函数:componentDidMount') } handleClick=()=>{ this.setState({ count:this.state.count+1 }) } render(){ console.log('生命周期钩子函数:render') return ( <div id='title'> <Counter count={this.state.count}></Counter> <button id='btn' onClick={this.handleClick}>打豆豆</button> </div> ) } } class Counter extends React.Component{ render(){ console.log('子组件生命周期钩子函数:render') return <h1>统计豆豆被打的次数:{this.props.count}</h1> } componentDidUpdate(prevProps){ console.log('子组件生命周期钩子函数-生命周期函数-:componentDidUpdate') const title=document.getElementById("title") console.log(title,"titleChild") console.log("上一次的props",prevProps,"当前的prps",this.props) } componentWillUnmount(){ console.log("生命周期钩子函数销毁函数") } } ReactDOM.render(<App></App>, document.getElementById('root'))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南