美文网首页
react的生命周期函数和this.state

react的生命周期函数和this.state

作者: 樊小勇 | 来源:发表于2019-04-19 21:40 被阅读0次
    • constructor里的 this.state
      存放状态、数据
    • react 生命周期函数
      从创建到销毁
    • this.state的使用实例
      显示和隐藏
    <script type="text/babel">
            class Demo extends React.Component{
                constructor(props){
                    super(props);
                    this.state={
                        show:false
                    }
                    this.getout = this.getout.bind(this);
                    // 绑定this指向
                }
    
                getout(flag){
                    // 使用this.set首字母大写属性修改里面的属性值 
                    // 修改state里show的值
                    this.setState({
                        show:flag
                    })
                }
    
                render() {
                    // 箭头函数的好处是,点击调用之后this的指向还是之前的指向
                    let show = this.state;
                    return(
                        <div>
                            <button onClick={()=>{this.getout(true)}}>显示</button>
                            <button onClick={()=>{this.getout(false)}}>隐藏</button>
                            <hr/>
                            {this.state.show&&
                                <p>
                                    还记得那天一双旧皮鞋,拉着我走过那一横一竖的街    
                                </p>
                            }
                        </div>
                    )   
                }
            }
    
            ReactDOM.render(
                <Demo />,
                document.querySelector('#app')
            )
    
        </script>
    
    • 生命周期函数
    <script type="text/babel">
        /**
         * react的生命周期分为三种
         * 1.mount 挂载
         * 2.update 更新
         * 3.unmount 卸载
        */
            class Demo extends React.Component{
                constructor(props){
                    super(props);
                }
                componentWillMount(){
                    console.log('即将挂载')
                }
                componentDidMount(){
                    console.log('已挂载')
                }
                componentWillUpdate(nextProps,nextState){
                    console.log('将要更新')
                }
                componentDidUpdate(prevProps,prevState){
                    console.log('更新完毕');
                }
                // 默认每一次的修改都触发页面更新,此函数用于干预是否要更新,孕育性能优化
                shouldComponentUpdate(nextProps,nextState){
    
                }
                componentWillUnmount(){
                    console.log('将要卸载')
                }
                render() {
                    return(
                        <div>生命周期</div>
                    )   
                }
            }
    
            ReactDOM.render(
                <Demo />,
                document.querySelector('#app')
            )
    
        </script>
    

    相关文章

      网友评论

          本文标题:react的生命周期函数和this.state

          本文链接:https://www.haomeiwen.com/subject/pqchgqtx.html