史上最全 React 生命周期详情分析

分手后的思念是犯贱 2022-05-09 12:54 335阅读 0赞

React 生命周期分为三种状态 :

  1. 1、初始化
  2. 2、更新
  3. 3、销毁 (卸载)

1、初始化:

  1. 1getDefaultProps()
  2. 设置默认的props,也可以用dufaultProps设置组件的默认属性。
  3. 2getInitialState()
  4. 在使用es6class语法时是没有这个钩子函数的,可以直接在constructor中定义this.state。此时可以访问this.props
  5. 3componentWillMount()
  6. 组件初始化时只调用,以后组件更新不调用,整个生命周期只调用一次,此时可以修改state
  7. 4render()
  8. react最重要的步骤,创建虚拟dom,进行diff算法,更新dom树都在此进行。此时就不能更改state了。
  9. 5componentDidMount()
  10. 组件渲染之后调用,只调用一次。

2、更新:

  1. 1componentWillReceiveProps(nextProps)
  2. 组件初始化时不调用,组件接受新的props时调用。
  3. 2shouldComponentUpdate(nextProps, nextState)
  4. react性能优化非常重要的一环。
  5. 组件接受新的state或者props时调用,我们可以设置在此对比前后两个propsstate是否相同,
  6. 如果相同则返回false阻止更新,因为相同的属性状态一定会生成相同的dom树,
  7. 这样就不需要创造新的dom树和旧的dom树进行diff算法对比,节省大量性能,尤其是在dom结构复杂的时候。
  8. 3componentWillUpdata(nextProps, nextState)
  9. 组件初始化时不调用,只有在组件将要更新时才调用,此时可以修改state
  10. 4render()
  11. 组件渲染。
  12. 5componentDidUpdate()
  13. 组件初始化时不调用,组件更新完成后调用,此时可以获取dom节点。

3、销毁 :

  1. 1componentWillUnmount()
  2. 组件将要卸载时调用,一些事件监听和定时器需要在此时清除。

发表评论

表情:
评论列表 (有 0 条评论,335人围观)

还没有评论,来说两句吧...

相关阅读

    相关 ByteBuddy(

    ByteBuddy(史上最全) 文章很长,建议收藏起来慢慢读! [总目录 博客园版][Link 1] 为大家准备了更多的好文章!!!! 推荐:尼恩Java面试宝典(持

    相关 react生命周期

    前言 学习React,生命周期很重要,我们了解完生命周期的各个组件,对写高性能组件会有很大的帮助. Ract生命周期 React 生命周期分为三种状态 1. 初始