引出生命周期

简介: 引出生命周期

生命周期就是勾子函数:React组件中包含一系列勾子函数(生命周期回调函数), 会在特定的时刻调用。

1.卸载组件

一旦点击按钮就自动删除组件


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="test"></div>
    <script src="./react-resource/react.development.js"></script> 
    <script src="./react-resource/react-dom.development.js"></script>
    <script src="./react-resource/babel.min.js"></script>
    <script src="./react-resource/prop-types.js"></script>
    <script type="text/babel">
        class Login extends React.Component{
            death=()=>{
                ReactDOM.unmountComponentAtNode(document.getElementById("test"))
            }
            render(){
                return (
                    <div>
                        <h1>爱娟宝</h1>
                        <button onClick={this.death}>登录</button>
                    </div>
                )
            }
        }
        ReactDOM.render(<Login/>,document.getElementById("test"));
    </script>
</body>
</html>

2.综合代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="test"></div>
    <script src="./react-resource/react.development.js"></script> 
    <script src="./react-resource/react-dom.development.js"></script>
    <script src="./react-resource/babel.min.js"></script>
    <script src="./react-resource/prop-types.js"></script>
    <script type="text/babel">
        class Login extends React.Component{
            state={opacity:1}
            death=()=>{ 
                ReactDOM.unmountComponentAtNode(document.getElementById("test"))//卸载组件
            }
            componentDidMount(){ //组件挂载完毕
                this.timer=setInterval(()=>{
                    let {opacity}=this.state;
                    opacity-=0.1;
                    if(opacity<=0) opacity=1;
                    this.setState({opacity})
                },200)
            }
            componentWillUnmount(){ //组件将要卸载
                clearInterval(ths.timer)
            }
            //初始化渲染,状态更新之后
            render(){
                return (
                    <div>
                        <h1 style={{opacity:this.state.opacity}}>爱娟宝</h1>
                        <button onClick={this.death}>登录</button>
                    </div>
                )
            }
        }
        ReactDOM.render(<Login/>,document.getElementById("test"));
    </script>
</body>
</html>


相关文章
|
2月前
|
存储 Java
【Java开发指南 | 第七篇】静态变量生命周期、初始化时机及静态变量相关性质
【Java开发指南 | 第七篇】静态变量生命周期、初始化时机及静态变量相关性质
36 4
|
2月前
|
监控 安全 Java
JVM工作原理与实战(七):类的生命周期-初始化阶段
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了类的生命周期、类的初始化阶段等内容。
30 5
|
2月前
|
存储 安全 Java
JVM工作原理与实战(六):类的生命周期-连接阶段
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了类的生命周期、类的连接阶段等内容。
37 4
|
2月前
|
存储 监控 安全
JVM工作原理与实战(五):类的生命周期-加载阶段
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了类的生命周期、类的加载阶段等内容。
37 5
|
2月前
|
Java 程序员 调度
Java多线程基础:理解线程的概念和生命周期
【4月更文挑战第6天】本文介绍了Java多线程编程的重要性,包括线程的基本概念和生命周期。在Java中,线程通过`Thread`类或实现`Runnable`接口创建。线程有新建、可运行、运行、阻塞、等待、计时等待和终止七种状态。理解这些状态转换对编写高效多线程程序至关重要,但也需注意同步和死锁问题。
|
2月前
|
存储 安全 IDE
C/C++ 作用域,生命周期,执行线程的概念
C/C++ 作用域,生命周期,执行线程的概念
24 2
|
2月前
|
缓存 JavaScript 前端开发
简述一下组件的生命周期
在进行组件化项目开发的时候都会存在一个组件的生命周期概念,像Vue、React、小程序等等,无一例外,而通常情况组件的生命周期主要分成三个阶段,包括:创建、更新以及销毁阶段。
58 0
|
2月前
|
设计模式
二十三种设计模式全面解析-当你的对象需要知道其他对象的状态变化时,观察者模式是你的救星!
二十三种设计模式全面解析-当你的对象需要知道其他对象的状态变化时,观察者模式是你的救星!
页面中有父子组件,生命周期顺序如何执行?(面试高频 一篇搞懂)
在实际开发中,一个页面经常会有父组件和子组件,那么在这个页面中,对于父子组件他们的生命周期又是如何执行的呢?看了一些网上的文章资料,竟然有些讲解写的是错误答案,带偏大家,所以在本文利用实践得出结论,带大家彻底搞懂这个知识点~
124 0
页面中有父子组件,生命周期顺序如何执行?(面试高频 一篇搞懂)
|
存储 缓存 JavaScript
ServiceWorker工作原理、生命周期和使用场景
service worker 是现代web开发的关键部分,在最近几年获得了关注,这都要归功于 PWA(渐进式 Web 应用程序) 的流行。service worker 通过向典型的 Web 应用程序添加后台同步、离线渲染和推送通知等功能,缩小了本机应用程序和 Web 应用程序之间的差距,主要任务之一是充当代理。
591 0
ServiceWorker工作原理、生命周期和使用场景