vue3的生命周期:1、beforecreate;2、created;3、beforemount;4、mounted;5、beforeupdate;6、updated;7、beforedestroy;8、destroyed;9、activated;10、deactivated;11、errorcaptured;12、getderivedstatefromprops等等。
Vue 3 引入了新的生命周期鉤子函數,并對一些舊的鉤子函數進行了重構或刪除。以下是一些 Vue 3 的生命周期鉤子函數:
1、beforeCreate:在實例創建之前調用,此時還沒有掛載,數據觀測 (data observer) 和事件尚未初始化。
2、created:實例創建完成后調用,此時已經完成了數據觀測 (data observer) 和事件初始化,但尚未掛載 DOM。
3、beforeMount:在掛載之前調用,相關的 render 函數首次被調用。可以在此時對模板進行編譯和渲染。
4、mounted:實例已經掛載到 DOM 上后調用。在這個時候,所有的?el?和?ref?都已經被解析,并且?$refs?已經被填充。
5、beforeUpdate:數據更新時調用,發生在虛擬 DOM 打補丁之前。可以在此時進行狀態更新或手動更改 DOM。
6、updated:數據更新完成后調用,發生在虛擬 DOM 打補丁和 DOM 更新之后。
7、beforeDestroy:實例銷毀之前調用。在這個階段,實例仍然完全可用。
8、destroyed:實例銷毀后調用。調用后,所有的事件監聽器和子組件都將被移除,所有的子組件的?destroyed?鉤子也會被調用。
9、activated:當被激活的 keep-alive 組件重新進入時調用。
10、deactivated:當被激活的 keep-alive 組件離開時調用。
11、errorCaptured:在捕獲階段處理錯誤時調用。如果這個鉤子沒有返回值,或者返回?false,那么父組件的?errorCaptured?鉤子會被繼續調用;否則,該錯誤不會被進一步處理。
12、getDerivedStateFromProps:在每次渲染之前都會調用,用于從 props 派生出狀態。這是一個靜態方法,可以在組件創建之前或在組件銷毀之后進行更改。
13、renderTracked?和?renderTriggered:這兩個鉤子是在渲染過程中觸發的,前者在跟蹤渲染時觸發,后者在強制觸發渲染時觸發。
14、setup:在 Vue 3 中,組件選項 API 被 Composition API 替代。setup?函數是 Composition API 的入口點,用于組織和復用組件邏輯。它是一個新的、更強大、更靈活的方式來定義組件選項。