生命周期forceUpdate流程

简介: 生命周期forceUpdate流程

forceUpdate强制更新,就是不需要经过阀门,直接对render进行更改


想要对其进行修改验证,可以先将阀门关闭,然后创建force对象


shouldComponentUpdate(){
                console.log("shouldComponentUpdate");
                return false;
                // 在这里开启TRUE那么就返回true,返回true那么就返回false
            }
<!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 false;
                // 在这里开启TRUE那么就返回true,返回true那么就返回false
            }
            // 组件将要更新的钩子
            componentWillUpdaye(){
                console.log("componentWillUpdate");
            }
            // 组件已经更新完毕的钩子
            componentDidUpdate(){
                console.log("componentDidUpdate");
            }
            force=()=>{
                this.forceUpdate();
            }
            render(){
                console.log("render");
                const {count}=this.state;
                return (
                    <div>
                        <h2>当前求和为:{count}</h2>
                        <button onClick={this.add}>点我加一</button>
                        <button onClick={this.add}>点我加一</button>
                        <button onClick={this.force}>强制更新</button>
                    </div>
                )
            }
        }
        ReactDOM.render(<Count/>,document.getElementById("test"));
    </script>
</body>
</html>

相关文章
|
7月前
|
小程序 JavaScript 开发者
小程序生命周期
小程序生命周期
39 1
|
1月前
|
应用服务中间件
生命周期
Servlet接口中一共是5个方法,其中有三个是生命周期方法。 Ø void init(ServletConfig):这个方法会在Servlet被创建后,马上被调用。只会被调用一次!我们可以把一些初始化工作放到这个方法中,如果没有什么初始化工作要做,那么这个方法就空着就可以了。 ² Servlet有两个时间点会被创建:一是在第一次被请求时,会被创建;二是Tomcat启动时被创建,默认是第一种,如果希望在tomcat启动时创建,这需要在web.xml中配置。 Ø void destroy():这个方法会在Servlet被销毁之前被调用。如果你有一些需要释放的资源,可以在这个方法中完成,如果
|
4月前
|
存储 安全 测试技术
|
4月前
NettyHandler 常用生命周期方法
NettyHandler 常用生命周期方法
34 0
|
7月前
|
缓存 JavaScript
onActivated 生命周期的使用和介绍
onActivated 生命周期的使用和介绍
447 3
|
7月前
|
小程序 前端开发 API
小程序的生命周期以及页面生命周期
小程序的生命周期以及页面生命周期
67 0
|
小程序 UED
小程序的生命周期讲解
小程序的生命周期讲解
68 0
IT服务生命周期
IT服务生命周期
364 0
|
存储 消息中间件 Java
设计与思考,关于资源和生命周期
在工作中,经常会看到或者用到池化技术,例如数据库连接池、线程池、内存池等等。这类池化技术在很多经典框架中都存在,并且是设计中的重要部分。
189 0
|
小程序 JavaScript 程序员
【小程序】生命周期
【小程序】生命周期
139 0
【小程序】生命周期

热门文章

最新文章