美文网首页
react 生命周期

react 生命周期

作者: STONEsh | 来源:发表于2019-05-10 09:50 被阅读0次

react生命周期分为三个阶段:

1.初始化
2.更新
3.销毁
  • 1.初始化
  • 1、getDefaultProps()
    设置默认的props,也可以用dufaultProps设置组件的默认属性.
  • 2、getInitialState()
    在使用es6的class语法时是没有这个钩子函数的,可以直接在constructor中定义this.state。此时可以访问this.props
  • 3、componentWillMount()
    组件初始化时只调用,以后组件更新不调用,整个生命周期只调用一次,此时可以修改state。
  • 4、render()
    1> react最重要的步骤,创建虚拟dom,进行diff算法,更新dom树都在此进行。此时就不能更改state了。
    2> 该方法会创建一个虚拟DOM,用来表示组件的输出。对于一个组件来讲,render方法是唯一一个必需的方法。render方法需要满足下面几点:
    **只能通过 this.props 和 this.state 访问数据(不能修改)
    **可以返回 null,false 或者任何React组件
    **只能出现一个顶级组件,不能返回一组元素
    **不能改变组件的状态
    **不能修改DOM的输出
    3> render方法返回的结果并不是真正的DOM元素,而是一个虚拟的表现,类似于一个DOM tree的结构的对象。react之所以效率高,就是这个原因。
  • 5、componentDidMount()
    组件渲染之后调用,只调用一次。
  • 2.更新
  • 1、componentWillReceiveProps(nextProps)
    组件初始化时不调用,组件接受新的props时调用。
  • 2、shouldComponentUpdate(nextProps, nextState)
    react性能优化非常重要的一环。组件接受新的state或者props时调用,我们可以设置在此对比前后两个props和state是否相同,如果相同则返回false阻止更新,因为相同的属性状态一定会生成相同的dom树,这样就不需要创造新的dom树和旧的dom树进行diff算法对比,节省大量性能,尤其是在dom结构复杂的时候
  • 3、componentWillUpdata(nextProps, nextState)
    组件初始化时不调用,只有在组件将要更新时才调用,此时可以修改state
  • 4、render()
    组件渲染
  • 5、componentDidUpdate()
    组件初始化时不调用,组件更新完成后调用,此时可以获取dom节点。
  • 3.卸载
  • componentWillUnmount()
    组件将要卸载时调用,一些事件监听和定时器需要在此时清除。

相关文章

  • React概念图

    React概念图 React组件生命周期概念图 参考文档:React入门教程 组件生命周期React:组件生命周期...

  • React基础篇之组件的生命周期

    引出生命周期 react生命周期(旧) react生命周期(新) getSnapshotBeforeUpdate的...

  • React生命周期

    React v16.0前的生命周期 React v16.4+ 的生命周期图 React v16.9后这些生命周期钩...

  • React v16 生命周期

    React 16 生命周期 React 16.3 新增的生命周期方法 逐渐废弃的生命周期方法: 一般将生命周期分成...

  • 学习并实现react (4)

    实现生命周期 生命周期介绍 React 生命周期图 React 子组件在父组件下的生命周期流程 实现 compon...

  • React面试题 整理脑图

    react基础 React生命周期 react-router react进阶 react Hooks redux 其他

  • react/vue常见问题整理

    一、react 1. react生命周期 react 16生命周期相对于15的变化:componentWillMo...

  • React 组件生命周期

    组件生命周期 参考阅读: component-lifecycle react组件生命周期过程说明 react 组件...

  • 《深入React技术栈》学习笔记Ⅲ

    以下的生命周期都是在 React 15 的生命周期, React 16 的生命周期 API 已经发生变化。Reac...

  • React总结

    [toc] 1.React组件生命周期 1.1 生命周期图 组件的生命周期的图如下: 具体可参考React 组件生...

网友评论

      本文标题:react 生命周期

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