最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

React組件生命周期詳解

 更新時(shí)間:2017年07月03日 10:03:26   作者:juzipchy  
本篇文章主要介紹了React組件生命周期,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

調(diào)用流程可以參看上圖。

React組件提供了生命周期的鉤子函數(shù)去響應(yīng)組件不同時(shí)刻的狀態(tài),組件的生命周期如下:

  1. 實(shí)例化
  2. 存在期
  3. 銷毀期

實(shí)例化

首次調(diào)用組件時(shí),有以下方法會(huì)被調(diào)用(注意順序,從上到下先后執(zhí)行):

getDefaultProps

這個(gè)方法是用來(lái)設(shè)置組件默認(rèn)的props,組件生命周期只會(huì)調(diào)用一次。但是只適合react.createClass直接創(chuàng)建的組件,使用ES6/ES7創(chuàng)建的這個(gè)方法不可使用,ES6/ES7可以使用下面方式:

//es7
class Component {
 static defaultProps = {}
}
//或者也可以在外面定義es6
//Compnent.defaultProps

getInitialState

設(shè)置state初始值,在這個(gè)方法中你已經(jīng)可以訪問(wèn)到this.props。getDefaultProps只適合React.createClass使用。使用ES6初始化state方法如下:

class Component extends React.Component{
 constructor(){
 this.state = {
  render: true,
 }
 }

componentWillMount

改方法會(huì)在組件首次渲染之前調(diào)用,這個(gè)是在render方法調(diào)用前可修改state的最后一次機(jī)會(huì)。這個(gè)方法很少用到。

render

這個(gè)方法以后大家都應(yīng)該會(huì)很熟悉,JSX通過(guò)這里,解析成對(duì)應(yīng)的虛擬DOM,渲染成最終效果。格式大致如下:

class Component extends React.Component{
 render(){
 return (
  <div></div>
 )
 }

componentDidMount

這個(gè)方法在首次真實(shí)的DOM渲染后調(diào)用(僅此一次)當(dāng)我們需要訪問(wèn)真實(shí)的DOM時(shí),這個(gè)方法就經(jīng)常用到。如何訪問(wèn)真實(shí)的DOM這里就不想說(shuō)了。當(dāng)我們需要請(qǐng)求外部接口數(shù)據(jù),一般都在這里處理。

存在期

實(shí)例化后,當(dāng)props或者state發(fā)生變化時(shí),下面方法依次被調(diào)用:

componentWillReceiveProps

每當(dāng)我們通過(guò)父組件更新子組件props時(shí)(這個(gè)也是唯一途徑),這個(gè)方法就會(huì)被調(diào)用。

componentWillReceiveProps(nextProps){}

shouldComponentUpdate

字面意思,是否應(yīng)該更新組件,默認(rèn)返回true。當(dāng)返回false時(shí),后期函數(shù)就不會(huì)調(diào)用,組件不會(huì)在次渲染。

shouldComponentUpdate(nextProps,nextState){}

componentWillUpdate

字面意思組件將會(huì)更新,props和state改變后必調(diào)用。

render

跟實(shí)例化時(shí)的render一樣,不多說(shuō)

componentDidUpdate

這個(gè)方法在更新真實(shí)的DOM成功后調(diào)用,當(dāng)我們需要訪問(wèn)真實(shí)的DOM時(shí),這個(gè)方法就也經(jīng)常用到。

銷毀期

銷毀階段,只有一個(gè)函數(shù)被調(diào)用:

componentWillUnmount

每當(dāng)組件使用完成,這個(gè)組件就必須從DOM中銷毀,此時(shí)該方法就會(huì)被調(diào)用。當(dāng)我們?cè)诮M件中使用了setInterval,那我們就需要在這個(gè)方法中調(diào)用clearTimeout。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用hooks寫React組件需要注意的5個(gè)地方

    使用hooks寫React組件需要注意的5個(gè)地方

    這篇文章主要介紹了使用hooks寫React組件需要注意的5個(gè)地方,幫助大家更好的理解和學(xué)習(xí)使用React組件,感興趣的朋友可以了解下
    2021-04-04
  • React創(chuàng)建組件的三種方式及其區(qū)別是什么

    React創(chuàng)建組件的三種方式及其區(qū)別是什么

    在React中,創(chuàng)建組件的三種主要方式是函數(shù)式組件、類組件和使用React Hooks的函數(shù)式組件,本文就詳細(xì)的介紹一下如何使用,感興趣的可以了解一下
    2023-08-08
  • 一文帶你深入理解React中的Context

    一文帶你深入理解React中的Context

    React?Context是React提供給開(kāi)發(fā)者的一種常用的狀態(tài)管理機(jī)制,本文主要來(lái)和大家講講為什么需要Context,又是如何使用Context的,感興趣的可以了解一下
    2023-05-05
  • React+EggJs實(shí)現(xiàn)斷點(diǎn)續(xù)傳的示例代碼

    React+EggJs實(shí)現(xiàn)斷點(diǎn)續(xù)傳的示例代碼

    這篇文章主要介紹了React+EggJs實(shí)現(xiàn)斷點(diǎn)續(xù)傳的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 如何利用React實(shí)現(xiàn)圖片識(shí)別App

    如何利用React實(shí)現(xiàn)圖片識(shí)別App

    圖片識(shí)別這個(gè)功能在很多app中都有,下面這篇文章主要給大家介紹了關(guān)于如何利用React實(shí)現(xiàn)圖片識(shí)別App的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • react hooks入門詳細(xì)教程

    react hooks入門詳細(xì)教程

    這篇文章主要介紹了react hooks入門詳細(xì)教程,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • 可定制React自動(dòng)完成搜索組件Turnstone實(shí)現(xiàn)示例

    可定制React自動(dòng)完成搜索組件Turnstone實(shí)現(xiàn)示例

    這篇文章主要為大家介紹了可定制React自動(dòng)完成搜索組件Turnstone實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • 使用Node搭建reactSSR服務(wù)端渲染架構(gòu)

    使用Node搭建reactSSR服務(wù)端渲染架構(gòu)

    這篇文章主要介紹了使用Node搭建reactSSR服務(wù)端渲染架構(gòu),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • React+umi+typeScript創(chuàng)建項(xiàng)目的過(guò)程

    React+umi+typeScript創(chuàng)建項(xiàng)目的過(guò)程

    這篇文章主要介紹了React+umi+typeScript創(chuàng)建項(xiàng)目的過(guò)程,結(jié)合代碼介紹了項(xiàng)目框架搭建的方式,本文給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • 在React中編寫class樣式的方法總結(jié)

    在React中編寫class樣式的方法總結(jié)

    在TypeScript (TSX) 中編寫 CSS 樣式類有幾種方法,包括使用純 CSS、CSS Modules、Styled Components 等,本文給大家介紹了幾種常見(jiàn)方法的示例,通過(guò)代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2024-07-07

最新評(píng)論

浏阳市| 海伦市| 吉林省| 富平县| 改则县| 阿城市| 东宁县| 麻城市| 宕昌县| 会昌县| 泸州市| 商城县| 榆中县| 九台市| 湘西| 井研县| 庆城县| 定日县| 新巴尔虎右旗| 锡林浩特市| 平和县| 临海市| 泽州县| 华亭县| 东安县| 鄂尔多斯市| 通河县| 永平县| 蒙城县| 青海省| 文安县| 云安县| 汤原县| 普宁市| 深水埗区| 于都县| 河池市| 烟台市| 桃江县| 五华县| 凭祥市|