中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

react生命周期總結

發布時間:2020-06-22 05:10:13 來源:網絡 閱讀:501 作者:兔兔捐 欄目:開發技術

    當通過createClass創建了組件之后,該React組件就有了生命周期。通常一個React組件的生命周期可分為三個階段:


    • Mounting:掛載組件,也就是組件實例化

    • ReciveProps:存在期,在這個時期組件的propsstate會變化,重新渲染組件

    • Unmounting:卸載組件,也就是組件被銷毀

    React在生命周期中提供了10種API:

    1.getDefaultProps():作用于組件類,只調用一次,返回對象用于設置默認的props,對于引用值,會在實例中共享。

    2.getInitialState():作用于組件的實例,在實例創建時調用一次,用于初始化每個實例的state。

    3.componentWillMount():在完成首次渲染之前調用,此時仍可以修改組件的tate。

    4.render():必選的方法,創建虛擬DOM,該方法具有特殊的規則:


    • 只能通過this.propsthis.state訪問數據

    • 可以返回nullfalse或任何React組件

    • 只能出現一個頂級組件(不能返回數組)

    • 不能改變組件的狀態

    • 不能修改DOM的輸出

    5.componentDidMount():真實的DOM被渲染出來后調用,在該方法中可通過     this.getDOMNode()訪問到真實的DOM元素。此時已可以使用其他類庫來操作這個    DOM。

    注意:在服務端中,該方法不會被調用。

    6.componentWillReceiveProps(nextProps,nextState):組件接收到新的props時調用,并將其作為參數nextProps使用,此時可以更改組件propsstate

    7.shouldComponentUpdate(nextProps,nextState):組件是否應當渲染新的propsstate,返回false表示跳過后續的生命周期方法,通常不需要使用以避免出現bug。在出現應用的瓶頸時,可通過該方法進行適當的優化。

    注意:在首次渲染期間或者調用了forceUpdate方法后,該方法不會被調用。

    8.componentWillUpdate(nextProps,nextState):接收到新的props或者state后,進行渲染之前調用,此時不允許更新propsstate

    9.componentDidUpdate(prevProps,prevState):完成渲染新的props或者state后調用,此時可以訪問到新的DOM元素。

    10.componentWillUnmount():組件被移除之前被調用,可以用于做一些清理工作,在componentDidMount方法中添加的所有任務都需要在該方法中撤銷,比如創建的定時器或添加的事件監聽器。

總結:下圖描述了生命周期的執行順序。

react生命周期總結

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

从化市| 壤塘县| 渝北区| 富顺县| 吴旗县| 互助| 青龙| 凤凰县| 乌兰浩特市| 武城县| 大安市| 土默特左旗| 太谷县| 荔浦县| 武清区| 响水县| 陆丰市| 同心县| 岳西县| 阳谷县| 屯昌县| 仁寿县| 会宁县| 包头市| 鹿泉市| 嘉义县| 隆昌县| 海门市| 灯塔市| 喀喇| 丰顺县| 开封县| 江源县| 邢台市| 从江县| 盐边县| 辽源市| 华蓥市| 宝山区| 重庆市| 涞水县|