美文网首页
所有生命周期的详细应用

所有生命周期的详细应用

作者: 楠楠_c811 | 来源:发表于2018-09-10 18:28 被阅读14次

我又来了。
这次来一波完整的。
代码效果是一个按钮,点击一次数字增加1,很普通的效果,只是别忘了打开控制台,看生命周期的变化。这个才是亮点。

import React, { Component } from 'react';
// 封装组件
class Hellow extends React.Component{
    constructor(props){
        super(props);
        // 设置初始data为0
        this.state = {data:0};
        // 为事件函数绑定this
        this.setNewNumber = this.setNewNumber.bind(this)
    }
    // 事件
    setNewNumber(){
        // 设置 setState   将当前最新的 data 赋值给data
        this.setState({data:this.state.data +1})
    }



    render(){
        return(
            <div>
                {/* 绑定点击事件 */}
                <button onClick={this.setNewNumber}>增加</button>
                {/* 嵌套组件 将最新的 data 赋值给myNumber */}
                <Content myNumber = {this.state.data}/>
            </div>
        );
    }
}


class Content extends React.Component{
    // 初始化调用
    componentWillMount(){
        console.log("初始化渲染调用")
    }
    // 组件渲染之后调用
    componentDidmount(){
        console.log('组件渲染之后调用,只调用一次')
    }
    // 父级更新时调用
    componentWillReceiveProps(){
        console.log('初始化时不调用,组件接收新的props说明父级更新,此时调用')
    }
    // 组件收到新的state或者props时调用
    shouldComponentUpdate(newProps,newState){
        console.log('我是用来做性能优化的,组件接收新的state或者props时调用,我显示是因为有更新')
        return true;
    }
    // 组件更新时调用
    componentWillUpdate(nexProps,nexState){
        console.log('初始化时不调用,只在组件将要更新时才调用,此时可以修改state')
    }
    // 更新完成后调用
    componentDidUpdate(prevProps,prevState){
        console.log('组件初始化时不调用,更新完成后才调用,这时可以获取DOM节点')
    }
    // 组件卸载时调用
    componentWillUnmount(){
        console.log('组件卸载时调用,此时清除事件监听和定时器')
    }
    render(){
        return(
            <div>
                {/* 设置显示当前的myNumber */}
                <h3>{this.props.myNumber}</h3>
            </div>
        )
    }

}


export default Hellow;

相关文章

  • 所有生命周期的详细应用

    我又来了。这次来一波完整的。代码效果是一个按钮,点击一次数字增加1,很普通的效果,只是别忘了打开控制台,看生命周期...

  • iOS 应用及视图生命周期初探

    应用及视图的生命周期 应用生命周期 从点击iOS屏幕的应用图标启动应用开始,到应用完全退出内存为止,期间的所有应用...

  • eventlog说明

    Android FW debug EventLog说明,framework层面可以详细指导应用的生命周期和切换流程

  • 架构学习-D01

    架构活动生命周期 架构和详细设计的区别 详细设计和实现不是架构师的职责 所有的架构都是设计,但并不是所有的设计都是...

  • Android笔记-生命周期

    应用程序从创建到结束的过程就叫作应用程序的生命周期。所有Android的组件都有自己的生命周期,下面介绍的是,Ac...

  • 【小程序】生命周期

    小程序生命周期分为两类:应用生命周期和页面生命周期。 应用生命周期 应用生命周期包括onLaunch、onShow...

  • uni-app微信小程序开发 - 生命周期

    uni-app的生命周期分为应用生命周期和页面生命周期还有组件生命周期。 应用生命周期[https://uniap...

  • 1.1应用程序的生命周期

    应用程序的生命周期 应用程序的生命周期.png

  • 微信小程序之生命周期(四)

    微信小程序生命周期分类: 应用生命周期 页面生命周期 一、应用生命周期 App() 函数用来注册一个小程序。接受一...

  • 微信小程序生命周期

    下面从三个方面来介绍小程序的生命周期:(1)应用生命周期(2)页面生命周期(3)应用及页面生命周期的触发顺序 1....

网友评论

      本文标题:所有生命周期的详细应用

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