生命周期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>


相关文章
|
7月前
|
自然语言处理 JavaScript 开发者
生命周期钩子1
生命周期钩子1
|
7月前
|
JavaScript 开发者
生命周期钩子2
生命周期钩子2
|
1月前
|
应用服务中间件
生命周期
Servlet接口中一共是5个方法,其中有三个是生命周期方法。 Ø void init(ServletConfig):这个方法会在Servlet被创建后,马上被调用。只会被调用一次!我们可以把一些初始化工作放到这个方法中,如果没有什么初始化工作要做,那么这个方法就空着就可以了。 ² Servlet有两个时间点会被创建:一是在第一次被请求时,会被创建;二是Tomcat启动时被创建,默认是第一种,如果希望在tomcat启动时创建,这需要在web.xml中配置。 Ø void destroy():这个方法会在Servlet被销毁之前被调用。如果你有一些需要释放的资源,可以在这个方法中完成,如果
|
4月前
NettyHandler 常用生命周期方法
NettyHandler 常用生命周期方法
34 0
|
5月前
|
缓存 JavaScript API
vue3 生命周期(生命周期钩子 vs 生命周期选项 vs 缓存实例的生命周期)
vue3 生命周期(生命周期钩子 vs 生命周期选项 vs 缓存实例的生命周期)
138 0
|
7月前
|
缓存 JavaScript
onActivated 生命周期的使用和介绍
onActivated 生命周期的使用和介绍
447 3
|
7月前
|
JavaScript 前端开发
生命周期钩子函数
生命周期钩子函数
51 1
|
JavaScript
state 和 props 触发更新的生命周期分别有什么区别?
state 和 props 触发更新的生命周期分别有什么区别?
|
7月前
|
JavaScript
在Vue中,如何保证事件监听器的注册和清除操作在正确的生命周期执行?
在Vue中,如何保证事件监听器的注册和清除操作在正确的生命周期执行?
162 2
|
7月前
|
前端开发 JavaScript Python
学不懂生命周期函数正常吗?
学不懂生命周期函数正常吗?

热门文章

最新文章