vue生命周期函式
- beforeCreate (創建前)
- created (創建后)
- beforeMount (掛載前)
- mounted (掛載后)
- beforeUpdate (資料更新前)
- updated (資料更新后)
- beforeDestroy (銷毀前)
- destroyed (銷毀后)
詳情傳送門

react生命周期函式
初始化
1.getDefaultProps()
- getDefaultProps這種定義方式是用在你定義組件用的是React.createClass方式的
如果使用的是es6的語法,例如用的是class 組件名 extends React.Component的話,就不要用
getDefaultProps這種方式去定義props了,而是應該用 static propTypes ={}來定義,這樣就不會有警了
getInitialState()
- 與getDefaultProps的區別在于前者設定默認的 props,后者設定初始的state在使用es6的class語法時是沒有這個鉤子函式的,可以直接在constructor中定義 this.state,此時可以訪問this.props
componentWillMount()
- 組件初始化時只呼叫,以后組件更新不呼叫,整個生命周期只呼叫一次,此時可以修改state,
render()
- react最重要的步驟,創建虛擬dom,進行diff演算法,更新dom樹都在此進行,此時就不能更改state了,
componentDidMount()
- 組件渲染之后呼叫,只呼叫一次,可以在此請求資料
更新
componentWillReceiveProps(nextProps)
- 組件初始化時不呼叫,組件接受新的props時呼叫,
shouldComponentUpdate(nextProps, nextState)
- react性能優化非常重要的一環,組件接受新的state或者props時呼叫,我們可以設定在此對比前后兩個props和state是否相同,如果相同則回傳false阻止更新,因為相同的屬性狀態一定會生成相同的dom樹,這樣就不需要創造新的dom樹和舊的dom樹進行diff演算法對比,節省大量性能,尤其是在dom結構復雜的時候
componentWillUpdata(nextProps, nextState)
- 組件初始化時不呼叫,只有在組件將要更新時才呼叫,此時可以修改state
render()
- 組件渲染
componentDidUpdate()
- 組件初始化時不呼叫,組件更新完成后呼叫,此時可以獲取dom節點,
卸載
componentWillUnmount()
- 組件將要卸載時呼叫,一些事件監聽和定時器需要在此時清除,
詳情傳送門

微信小程式生命周期函式
頁面生命周期
詳情傳送門
- onLoad (監聽頁面加載)
- onReady (監聽頁面初次渲染完成)
- onShow (監聽頁面顯示)
- onhide (監聽頁面隱藏)
- onUnload (監聽頁面卸載)
- onPullDownRefresh (監聽用戶下拉動作)
- onReachBottom (頁面上拉觸底事件的處理函式)
- onShareAppMessage (用戶點擊右上角分享)
- onPageScroll (頁面滾動觸發事件的處理函式)
- onResize (頁面尺寸改變時觸發,詳見 回應顯示區域變化)
- onTabItemTap (當前是 tab 頁時,點擊 tab 時觸發)
應用生命周期函式
應用生命周期函式傳送門
- onLaunch (監聽小程式初始化)
- onShow (監聽小程式顯示)
- onHide (監聽小程式隱藏)
- onError (錯誤監聽函式)
- onPageNotFound (頁面不存在監聽函式)
- onUnhandledRejection ()
組件生命周期函式
組件生命周期函式傳送門
- created (在組件實體剛剛被創建時執行)
- attached (在組件實體進入頁面節點樹時執行)
- ready (在組件在視圖層布局完成后執行)
- moved (在組件實體被移動到節點樹另一個位置時執行)
- detached (在組件實體被從頁面節點樹移除時執行)
- error (每當組件方法拋出錯誤時執行)
組件所在頁面的生命周期
- show (組件所在的頁面被展示時執行)
- hide (組件所在的頁面被隱藏時執行)
- resize (組件所在的頁面尺寸變化時執行)

uni-app 生命周期函式
應用生命周期
- onLaunch (當uni-app 初始化完成時觸發(全域只觸發一次))
- onShow (當 uni-app 啟動,或從后臺進入前臺顯示)
- onHide (當 uni-app 從前臺進入后臺)
- onError (報錯是觸發)
- onUniNViewMessage (對 nvue 頁面發送的資料進行監聽)
- onUnhandledRejection (對未處理的 Promise 拒絕事件監聽函式(2.8.1+))
- onPageNotFound (頁面不存在監聽函式)
- onThemeChange (監聽系統主題變化)
頁面生命周期
| 函式名 | 說明 |
|---|---|
| onLoad | 監聽頁面加載,其引數為上個頁面傳遞的資料,引數型別為Object(用于頁面傳參) |
| onShow | 監聽頁面顯示,頁面每次出現在螢屏上都觸發,包括從下級頁面點回傳露出當前頁面 |
| onReady | 監聽頁面初次渲染完成,注意如果渲染速度快,會在頁面進入影片完成前觸發 |
| onHide | 監聽頁面隱藏 |
| onUnload | 監聽頁面卸載 |
| onResize | 監聽視窗尺寸變化 |
| onPullDownRefresh | 監聽用戶下拉動作,一般用于下拉重繪 |
| onReachBottom | 頁面上拉觸底事件的處理函式 |
| onTabItemTap | 點擊 tab 時觸發,引數為Object |
| onShareAppMessage | 用戶點擊右上角分享 |
| onPageScroll | 監聽頁面滾動,引數為Object |
| onNavigationBarButtonTap | 監聽原生標題欄按鈕點擊事件,引數為Object |
| onBackPress | 監聽頁面回傳,回傳 event = {from:backbutton、 navigateBack} ,backbutton 表示來源是左上角回傳按鈕或 android 回傳鍵;navigateBack表示來源是 uni.navigateBack |
| onNavigationBarSearchInputChanged | 監聽原生標題欄搜索輸入框輸入內容變化事件 |
| onNavigationBarSearchInputConfirmed | 監聽原生標題欄搜索輸入框搜索事件,用戶點擊軟鍵盤上的“搜索”按鈕時觸發, |
| onNavigationBarSearchInputClicked | 監聽原生標題欄搜索輸入框點擊事件 |
| onShareTimeline | 監聽用戶點擊右上角轉發到朋友圈 |
| onAddToFavorites | 監聽用戶點擊右上角收藏 |
詳情傳送門
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/195185.html
標籤:java
