引出生命周期

简介: 引出生命周期

生命周期就是勾子函数: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>


相关文章
|
设计模式 缓存 算法
JAVA设计模式14:策略模式,使算法的变化独立于使用它的客户端
JAVA设计模式14:策略模式,使算法的变化独立于使用它的客户端
106 0
|
2月前
|
JavaScript UED
|
7月前
|
存储 Java
【Java开发指南 | 第七篇】静态变量生命周期、初始化时机及静态变量相关性质
【Java开发指南 | 第七篇】静态变量生命周期、初始化时机及静态变量相关性质
153 4
|
7月前
|
缓存 JavaScript 前端开发
简述一下组件的生命周期
在进行组件化项目开发的时候都会存在一个组件的生命周期概念,像Vue、React、小程序等等,无一例外,而通常情况组件的生命周期主要分成三个阶段,包括:创建、更新以及销毁阶段。
92 0
|
7月前
|
设计模式
二十三种设计模式全面解析-当你的对象需要知道其他对象的状态变化时,观察者模式是你的救星!
二十三种设计模式全面解析-当你的对象需要知道其他对象的状态变化时,观察者模式是你的救星!
|
存储 编译器 C++
c++ 有趣的动态转换之 delete 崩溃探究兼谈基类虚析构的重要性
c++ 有趣的动态转换之 delete 崩溃探究兼谈基类虚析构的重要性
|
设计模式 Java BI
彻底搞懂访问者模式的静态、动态和伪动态分派
每到年底,管理层就要开始评定员工一年的工作绩效,员工分为工程师和经理;管理层有CEO和CTO。那么CTO关注工程师的代码量、经理的新产品数量;CEO关注工程师的KPI、经理的KPI及新产品数量。
131 0
页面中有父子组件,生命周期顺序如何执行?(面试高频 一篇搞懂)
在实际开发中,一个页面经常会有父组件和子组件,那么在这个页面中,对于父子组件他们的生命周期又是如何执行的呢?看了一些网上的文章资料,竟然有些讲解写的是错误答案,带偏大家,所以在本文利用实践得出结论,带大家彻底搞懂这个知识点~
161 0
页面中有父子组件,生命周期顺序如何执行?(面试高频 一篇搞懂)
|
Java
一张图弄懂java线程的状态和生命周期
上图是一个线程的生命周期状态流转图,很清楚的描绘了一个线程从创建到终止的过程。
136 0
一张图弄懂java线程的状态和生命周期
|
存储 设计模式 缓存
【设计模式】享元模式 简介 ( 定义 | 对象池 | 内部状态 | 外部状态 | 适用场景 | 相关角色 )
【设计模式】享元模式 简介 ( 定义 | 对象池 | 内部状态 | 外部状态 | 适用场景 | 相关角色 )
271 0

热门文章

最新文章