react的生命周期

 

生命周期简介

class App extends React.Component {
  //构造函数
  constructor(props) {
    super(props)
    this.state = {
      data: 'old'
    }
    console.log('constructor')
  }

  //组件将要加载
  componentWillMount() {
    console.log('componentWillMount')
  }

  // 组件加载完成
  componentDidMount() {
    console.log('componentDidMount')
  }

  // 将要接受父组件传来的props
  componentWillReceiveProps() {
    console.log('componentWillReceiveProps');
  }

  // 子组件属否应该更新
  shouldComponentUpdate() {
    console.log('shouldComponentUpdate')
    return true
  }

  // 组件将要更新
  componentWillUpdate() {
    console.log('componentWillUpdate')
  }

  // 组件更新完成
  componentDidUpdate() {
    console.log('componentDidUpdate')
  }
  
  // 组件即将销毁
  componentWillUnmount() {
    console.log('componentWillUnmount')
  }


  //处理点击事件
  handleClick() {
    this.setState({
      data: 'new'
    })
  }

  //渲染
  render() {
    console.log('render')
    return (
      <div>
        App
        <button onClick={() => this.handleClick()}>更新组件</button>
      </div>
    )
  }
}

生命周期执行顺序

生命周期节点:

  • Mounting:挂载阶段
  • Updating:运行时阶段
  • Unmounting:卸载阶段
  • Error Handling:错误阶段

初始化过程:

  • constructor
  • componentWillMount
  • render
  • componentDidMount

更新组件(改变state):

  • shouldComponentUpdate
  • componentWillUpdate
  • render
  • componentDidUpdate

更新组件(改变props):

  • componentWillReceiveProps
  • shouldComponentUpdate
  • componentWillUpdate
  • render
  • componentDidUpdate

组件卸载:

  • componentWillUnmount




 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值