vue3.0新特性学习笔记2(生命周期)

1.添加我们的生命周期钩子

Vue3 中,要在 setup() 函数中使用生命周期来完成需求
导入:

import { onMounted, onUpdated, onUnmounted } from 'vue'

除去beforeCreatecreated 之外,在我们的 setup 方法中,有9个旧的生命周期钩子,我们可以在setup 方法中访问

beforeCreate -> use setup()
created -> use setup()
beforeMount -> onBeforeMount
mounted -> onMounted
beforeUpdate -> onBeforeUpdate
updated -> onUpdated
beforeDestroy -> onBeforeUnmount
destroyed -> onUnmounted
errorCaptured -> onErrorCaptured

import { onBeforeMount, onMounted, onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted, onActivated, onDeactivated, onErrorCaptured } from 'vue'

export default {
  setup() {
    onBeforeMount(() => {
      // ... 
    })
    onMounted(() => {
      // ... 
    })
    onBeforeUpdate(() => {
      // ... 
    })
    onUpdated(() => {
      // ... 
    })
    onBeforeUnmount(() => {
      // ... 
    })
    onUnmounted(() => {
      // ... 
    })
    onActivated(() => {
      // ... 
    })
    onDeactivated(() => {
      // ... 
    })
    onErrorCaptured(() => {
      // ... 
    })
  }
}
生命周期

这些生命周期钩子只能在 setup() 内部同步使用,因为他们依赖正在调用 setup() 的组件实例。

因为 setup 是围绕 beforeCreatecreated 生命周期钩子运行的,所以不需要显式地定义它们。换句话说,在这些钩子中编写的任何代码都应该直接在 setup 函数中编写。

2.新增的钩子函数

onRenderTracked
onRenderTriggered

两个钩子函数都接收一个 DebuggerEvent:

export default {
  onRenderTriggered(e) {
    debugger
    // 检查哪个依赖性导致组件重新渲染
  },
}

你可能感兴趣的:(vue3.0新特性学习笔记2(生命周期))