2.2 实例演示生命周期

实例一
class Life extends React.Component{
    //挂载阶段
    constructor(props){
        super(props);
        console.log("constructor()");
    };

    componentWillMount(){
        console.log("componentWillMount()")
    };

    render(){
        console.log("render()");
        return (
            <div>
            <h1>组件生命周期</h1>
            </div>
        )
    }

    componentDidMount(){
        console.log("componentDidMount()")
    };

    //更新(运行)阶段
    shouldComponentUpdate(){
        console.log("shouldComponentUpdate()")
    }

    componentWillUpdate(){
        console.log("componentWillUpdate()")
    }

    componentDidUpdate(){
        console.log("componentDidUpdate()");
    }

    //卸载阶段
    componentWillUnmount(){
        console.log("componentWillUnmount()")
    }

}

ReactDOM.render(
    <Life />,
    document.getElementById("root")
);
实例二
class Life extends React.Component{
    //挂载阶段
    constructor(props){
        super(props);
        console.log("constructor()");
        this.state = {
            age : 1
        }
    };

    UNSAFE_componentWillMount(){
        console.log("componentWillMount()")
    };

    render(){
        console.log("render()");
        return (
            <div>
            <h1>我是树妖,今年{this.state.age}</h1>
<button onClick={()=>ReactDOM.unmountComponentAtNode(root)}>砍树</button>
</div>
)
}

componentDidMount(){
    //网络请求,消息发布,订阅一般都在此生命周期内完成

    //开启定时器
    console.log("定时器正在默默工作!");
    this.interValId = setInterval(()=>{
        this.setState({
            age : this.state.age + 1
        });
    },2000);
};

//更新(运行)阶段

// shouldComponentUpdate(){
//     console.log("shouldComponentUpdate()")
// }

UNSAFE_componentWillUpdate(){
    console.log("componentWillUpdate()-------------")
}

componentDidUpdate(){
    console.log("componentDidUpdate()");
}

//卸载阶段
componentWillUnmount(){
    console.log("componentWillUnmount()");
    //清除定时器  如果不清除的话好像定时器也停掉了
    clearInterval(this.interValId)

}

}

ReactDOM.render(
    <Life />,
    document.getElementById("root")
);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值