成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

React16 生命周期理解

Flands / 3010人閱讀

摘要:完整生命周期初始化參數(shù)第一次渲染當(dāng)父組件向子組件傳入發(fā)生改變后,依次調(diào)用子組件更新渲染當(dāng)組件自身發(fā)生變化后組件再次更新渲染當(dāng)組件卸載生命周期詳解此處請求接口數(shù)據(jù)子組件獲得新時觸發(fā),作用是在子組件再次渲染前,更新子組件自身的,之后會觸發(fā)接受的

完整生命周期
constructor(props) // 初始化參數(shù)

componentWillMount()

render() // 第一次渲染 

componentDidMount()

當(dāng)父組件向子組件傳入props發(fā)生改變后,依次調(diào)用

componentWillReceiveProps(nextProps)

shouldComponentUpdate(nextProps, nextState) 

componentWillUpdate()

render() //子組件更新渲染

componentDidUpdate()

當(dāng)組件自身state發(fā)生變化后

componentWillUpdate()

render() //組件再次更新渲染

componentDidUpdate()

當(dāng)組件卸載

componentWillUnmount()
生命周期詳解
componentDidMount() 此處請求接口數(shù)據(jù) 
componentWillReceiveProps(nextProps) 子組件獲得新props時觸發(fā),作用是在子組件再次渲染前,更新子組件自身的state,之后會觸發(fā)shouldComponentUpdate()   
shouldComponentUpdate(nextProps, nextState) 接受的props發(fā)生變化或者自身state變化都會觸發(fā)該生命周期,在此生命周期可以做一些渲染的優(yōu)化,默認(rèn)返回true,就是默認(rèn)需要更新組件,重新渲染,nextProps nextState 都是新state 新props,this.props this.state 表示舊的props state,根據(jù)需求做優(yōu)化,比如在某些情況下返回false,便不再進(jìn)行組件更新了,提升頁面性能
static getDerivedStateFormProps(nextProps, prevState)
替代 componentWillReceiveProps 返回的結(jié)果會送給setState 如果什么都不改變就返回null
static 聲明靜態(tài)函數(shù),無法訪問this,也就是一個純函數(shù),輸出完全由輸入決定
除了shouldComponentUpdate之外,render前的所有生命周期都被替代
返回新的state,重新進(jìn)行setSate后,react會去控制不再進(jìn)行新的更新
AJAX請求在依舊在componentDidMount 中進(jìn)行,只有在一些特定情況下實用 (此處還未深入了解
貌似用的場景很少
eg: 
  static getDerivedStateFromProps(nextProps, prevState) {
    console.log(nextProps); // 新傳入的props
    console.log(prevState); // 舊的state
    //console.log(this.props);
    return {
      value: nextProps.value
    }
  }

例子
這個例子讓你更好的理解幾個生命周期的作用   Github地址在這里

參考react官方文檔 State & 生命周期 && 性能優(yōu)化 章節(jié)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/100903.html

相關(guān)文章

  • 淺談React Fiber

    摘要:因為版本將真正廢棄這三生命周期到目前為止,的渲染機(jī)制遵循同步渲染首次渲染,更新時更新時卸載時期間每個周期函數(shù)各司其職,輸入輸出都是可預(yù)測,一路下來很順暢。通過進(jìn)一步觀察可以發(fā)現(xiàn),預(yù)廢棄的三個生命周期函數(shù)都發(fā)生在虛擬的構(gòu)建期間,也就是之前。 showImg(https://segmentfault.com/img/bVbweoj?w=559&h=300); 背景 前段時間準(zhǔn)備前端招聘事項...

    izhuhaodev 評論0 收藏0
  • 捋一捋React生命周期

    摘要:卸載階段組件卸載和銷毀老版生命周期之前的生命周期初始化階段涉及個鉤子函數(shù)這些方法會在組件初始化的時候被調(diào)用,只跟實例的創(chuàng)建有關(guān)。 前言:React 的版本從 v15 到 v16.3 ,再到v16.4,現(xiàn)在最新的版本是 v16.8了。其中最大的變化可能是React Hooks的加入,而最令人困惑的卻是它的生命周期,新舊生命周期函數(shù)混雜在一起,難免會讓許多新來者有很多困惑。所以這一篇我們來...

    MobService 評論0 收藏0
  • React16時代,該用什么姿勢寫 React ?

    摘要:的返回值將作為的參數(shù),如果返回,則不更新,不能返回或以外的值,否則會警告。在更新之前調(diào)用,此時已更新返回值作為的第個參數(shù)一般用于獲取之前的數(shù)據(jù)語法是從的返回值,默認(rèn)是的使用場景一般是獲取組建更新之前的滾動條位置。 React16 后的各功能點(diǎn)是多個版本陸陸續(xù)續(xù)迭代增加的,本篇文章的講解是建立在 16.6.0 版本上本篇文章主旨在介紹 React16 之后版本中新增或修改的地方,所以對于...

    Reducto 評論0 收藏0
  • 從Mixin到hooks,談?wù)剬?em>React16.7.0-alpha中即將引入的hooks的理解

    摘要:已經(jīng)被廢除,具體缺陷可以參考二為了解決的缺陷,第二種解決方案是高階組件簡稱。我們定義了父組件,存在自身的,并且將自身的通過的方式傳遞給了子組件。返回一個標(biāo)識該的變量,以及更新該的方法。 ??為了實現(xiàn)分離業(yè)務(wù)邏輯代碼,實現(xiàn)組件內(nèi)部相關(guān)業(yè)務(wù)邏輯的復(fù)用,在React的迭代中針對類組件中的代碼復(fù)用依次發(fā)布了Mixin、HOC、Render props等幾個方案。此外,針對函數(shù)組件,在Reac...

    ZweiZhao 評論0 收藏0
  • 從Mixin到hooks,談?wù)剬?em>React16.7.0-alpha中即將引入的hooks的理解

    摘要:已經(jīng)被廢除,具體缺陷可以參考二為了解決的缺陷,第二種解決方案是高階組件簡稱。我們定義了父組件,存在自身的,并且將自身的通過的方式傳遞給了子組件。返回一個標(biāo)識該的變量,以及更新該的方法。 ??為了實現(xiàn)分離業(yè)務(wù)邏輯代碼,實現(xiàn)組件內(nèi)部相關(guān)業(yè)務(wù)邏輯的復(fù)用,在React的迭代中針對類組件中的代碼復(fù)用依次發(fā)布了Mixin、HOC、Render props等幾個方案。此外,針對函數(shù)組件,在Reac...

    funnyZhang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<