Vue3-组合式API学习之生命周期钩子函数

学习来源

生命周期钩子函数

我们在使用生命周期钩子函数时,可以直接导入onXX的函数来注册生命周期钩子:

<template>
  <div class="home">
    <button @click="addCount">{{count}}</button>
  </div>
</template>
<script lang='ts'>
  import { ref,onMounted,onUpdated,onUnmounted } from 'vue';
  export default {
    setup() {

      const count = ref(0)

      function addCount(){
        count.value++
      }

      // 页面挂载
      onMounted(()=>{
        console.log('mounted,挂载')
      })
      // 数据更新
      onUpdated(()=>{
        console.log('updated,更新')
      })
      // 卸载
      onUnmounted(()=>{
        console.log('unmounted,卸载')
      })

      return {
        count,
        addCount,
      }
    }
  }
</script>

这些生命周期钩子注册函数只能在setup()期间同步使用,因为它们依赖于内部的全局状态来定位当前组件实例(正在调用setup()的组件实例),不在当前组件下调用这些函数会抛出错误。
组件实例上下文也是在生命周期钩子同步执行期间设置的,因此,在卸载组件时,在生命周期钩子内部同步创建的侦听器和计算状态也将自动删除。
生命周期钩子变化
新增的钩子函数:

  • onRenderTracked
  • onRenderTriggered

两个钩子函数都接收一个DebuggerEvent,与watchEffect参数选项中的onTrack和onTrigger类似

export default {
  onRenderTriggered(e) {
    debugger
    // 检查哪个依赖性导致组件重新渲染
  },
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值