生命周期setState流程

简介: 生命周期setState流程

<!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>
    <link rel="stylesheet" href="./">
</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 Count extends React.Component{
            // 构造器初始化
            state={count:0};
            constructor(props){
                console.log("constructor");
                super(props);
                this.state={count:0};
            }
            // 组件挂载完毕的输出
            componentDidMount(){
                console.log("componentDidMount");
            }
            add=()=>{
                const {count}=this.state;
                this.setState({count:count+1});
            }
            // 组件将要挂载的钩子
            componentWillMount(){
                console.log("componentWillMount");
            }
            death=()=>{
                ReactDOM.unmountComponentAtNode(document.getElementById("test"))
            }
            componentWillUnmount(){
                console.log("componentWillUnmount");
            }
            // 创建组件阀门
            shouldComponentUpdate(){
                console.log("shouldComponentUpdate");
                return true;
                // 在这里开启TRUE那么就返回true,返回true那么就返回false
            }
            // 组件将要更新的钩子
            componentWillUpdaye(){
                console.log("componentWillUpdate");
            }
            // 组件已经更新完毕的钩子
            componentDidUpdate(){
                console.log("componentDidUpdate");
            }
            render(){
                console.log("render");
                const {count}=this.state;
                return (
                    <div>
                        <h2>当前求和为:{count}</h2>
                        <button onClick={this.add}>点我加一</button>
                        <button onClick={this.add}>点我加一</button>
                    </div>
                )
            }
        }
        ReactDOM.render(<Count/>,document.getElementById("test"));
    </script>
</body>
</html>


相关文章
|
Web App开发 资源调度 JavaScript
vue element plus 安装
vue element plus 安装
332 0
|
弹性计算 Java 应用服务中间件
手动部署Java Web环境(Alibaba Cloud Linux 2)
本场景带您体验如何在Alibaba Cloud Linux 2.1903 LTS 64位操作系统的云服务器上部署Java Web环境。
|
网络协议 网络性能优化 网络架构
【计算机网络】网络层首部解析
【1月更文挑战第27天】【计算机网络】网络层首部解析
|
6月前
|
缓存 Java 数据库
微服务——SpringBoot使用归纳——Spring Boot中使用监听器——监听器介绍和使用
本文介绍了在Spring Boot中使用监听器的方法。首先讲解了Web监听器的概念,即通过监听特定事件(如ServletContext、HttpSession和ServletRequest的创建与销毁)实现监控和处理逻辑。接着详细说明了三种实际应用场景:1) 监听Servlet上下文对象以初始化缓存数据;2) 监听HTTP会话Session对象统计在线用户数;3) 监听客户端请求的Servlet Request对象获取访问信息。每种场景均配有代码示例,帮助开发者理解并应用监听器功能。
392 0
|
监控 数据可视化 数据挖掘
ERP系统中的销售预测与市场分析
【7月更文挑战第25天】 ERP系统中的销售预测与市场分析
764 2
|
消息中间件 前端开发 编译器
10种常见的软件架构模式简述
10种常见的软件架构模式简述
|
存储 Kubernetes 应用服务中间件
使用CoreOS来部署一个Kubernetes集群,包括必要的步骤和关键概念
使用kubeadm join命令将其他CoreOS节点加入Kubernetes集群。在每个节点上运行以下命令,其中<控制平面节点IP>是Kubernetes控制平面节点的IP地址,<令牌>是在初始化控制平面时生成的令牌。
367 0
|
缓存 API 网络架构
RESTful API是干什么的?底层原理是什么?
RESTful API是干什么的?底层原理是什么?
425 0
理解多态的实现原理
理解多态的实现原理
111 0
|
算法 机器人
<<算法很美>>——(四)——深入递归<一>——自上而下,自下而上
<<算法很美>>——(四)——深入递归<一>——自上而下,自下而上
<<算法很美>>——(四)——深入递归<一>——自上而下,自下而上