vue3组合式函数如何接收响应式状态

Index.vue:

javascript 复制代码
<script setup>
import { ref, onMounted } from 'vue'
import useList from './useList'
import './index.css'

const indexCount = ref(0)

const { count, handleClick } = useList(indexCount)

const handleIndexCount = () => {
  indexCount.value++
}



onMounted(() => {})
</script>

<template>
  <div class="m-home-wrap">
    <button @click="handleIndexCount">{{ indexCount }}</button>

    <button @click="handleClick">{{ count }}</button>
    <div class="m-home-demo"></div>
  </div>
</template>

<style></style>

useList.js:

javascript 复制代码
import { ref, onMounted, watchEffect, toValue } from 'vue'

const useList = (props) => {
  const count = ref(0)


  watchEffect(() => {
    let value = toValue(props)
    console.log(value)
    count.value = value
  })

  const handleClick = () => {
    count.value++
  }

  onMounted(() => {
    console.log(1)
  })

  return {
    count,
    handleClick,
  }
}

export default useList

watchEffect的作用:

响应式地追踪其依赖

toValue的作用:

toValue() 是一个在 3.3 版本中新增的 API。它的设计目的是将 ref 或 getter 规范化为值。如果参数是 ref,它会返回 ref 的值;如果参数是函数,它会调用函数并返回其返回值

人工智能学习网站

https://chat.xutongbao.top

相关推荐
学前端搞口饭吃2 分钟前
React props的使用
前端·javascript·react.js
灵感__idea25 分钟前
JavaScript高级程序设计(第5版):前端的能力边界
前端·javascript·程序员
华洛27 分钟前
SEO还没死,GEO之战已经开始
前端·javascript·产品
IT_陈寒30 分钟前
Python性能优化:5个被低估的魔法方法让你的代码提速50%
前端·人工智能·后端
As331001038 分钟前
Chrome 插件开发入门指南:从基础到实践
前端·chrome
不想上班只想要钱1 小时前
vue3 ts:声明的一个数组不能将类型“boolean”分配给类型“never”。
前端·vue.js
OEC小胖胖1 小时前
Next.js 介绍:为什么选择它来构建你的下一个 Web 应用?
开发语言·前端·web·next.js
切糕师学AI1 小时前
如何建立针对 .NET Core web 程序的线程池的长期监控
java·前端·.netcore
F2E_Zhangmo4 小时前
基于cornerstone3D的dicom影像浏览器 第三章 拖拽seriesItem至displayer上显示第一张dicom
前端·javascript·cornerstone·cornerstone3d·cornerstonejs
gnip9 小时前
Jst执行上下文栈和变量对象
前端·javascript