zoukankan      html  css  js  c++  java
  • React生命周期函数 学习笔记

    (一)必须记住的生命周期函数:

    1.  加载的时候: componentWillMount  , componentDidMount (dom操作)
    2.     更新的时候:   componentWillUpdate , componentDidUpdate
    3.     销毁的时候: componentWillUnmount

       特殊状态的处理函数(了解)

    1.    componentWillReceiveProps(object nextProps):                                    已加载组件收到新的参数时调用
    2.    shouldComponentUpdate(object nextProps, object nextState):             组件判断是否重新渲染时调用

    (二)生命周期详解

      Mounting:已经插入真实的DOM      Updating:正在被重新渲染     Unmounting:已移出真实的DOM

      (1)加载的时候

        componentWillMount:  此方法在mounting之前被立即调用,它在render()之前调用,因此在此方法中setState不会触发重新渲染。此方法是服务器渲染中调用的唯一的生命周期钩子,通常我们建议使用constructor()。

             componentDidMount :此方法在组件被 mounted 之后立即被调用,初始化DOM节点应该在此方法中,如果需要从远端健在数据,这里是实例化网络请求的好地方,此方法中 setState 会触发组件重新渲染。

      (2)更新的时候

             componentWillUpdate:当接收新的 props 或 state 时,componentWillUpdate() 在组件渲染之前被立即调用。使用此函数作为在更新发生之前执行准备的机会。初始渲染不会调用此方法。

        componentDidUpdate:此函数在更新后立即被调用。初始渲染不调用此方法。当组件已经更新时,使用此操作作为DOM操作的机会。这也是一个好的地方做网络请求,只要你比较当前的props 和以前的props (例如:如果props没有改变,可能不需要网络请求)。

      (3)  销毁的时候

           componentWillUnmount:此函数在组件被卸载和销毁之前被立即调用。在此方法中执行一些必要的清理。例如清除计时器,取消网络请求或者清理在componentDidMount 中创建的任何DOM元素。


          生命周期很重要!

  • 相关阅读:
    MyBatis学习笔记
    【Ts 5】Httpclient的应用和封装
    【drp 12】再识转发和重定向:SpringMVC无法跳转页面
    【多线程 5】线程池的类型以及submit()和execute()的区别
    【多线程 5】线程池的类型以及submit()和execute()的区别
    【多线程 4】多线程实例(实例分析博客在下一篇)
    【多线程 4】多线程实例(实例分析博客在下一篇)
    【多线程 3】多线程间的变量共享方式
    【多线程 3】多线程间的变量共享方式
    【多线程 2】常见的多线程创建方式
  • 原文地址:https://www.cnblogs.com/misscai/p/10405572.html
Copyright © 2011-2022 走看看