大家好,我是宝哥。
今天我们来聊聊Vue 3中的状态管理,让你的应用状态更加灵动。
什么是响应式状态?
响应式状态是一种特殊的状态,当底层数据发生变化时,它能够自动更新用户界面。
为什么我们不能像在普通JavaScript中那样使用可变变量呢?
你可能会问,虽然这些变量的值可以在UI中显示,但对它们的任何更改都不会反映出来。
在Vue 3中声明响应式状态
在Vue 3中,ref()
函数就像是个强大的盒子,能够存储各种类型的数据,让它们变得响应式。这个盒子可以存储字符串、数字、布尔值、对象、数组等等。

你可以创建一个空的盒子,或者给它一个初始值,作为默认值。在这个例子中,我们使用0
作为初始值。

现在,剩下的唯一事情就是为我们刚刚创建的框分配一个标签,我们可以通过定义一个变量来做到这一点。

🤠 就是这样,您刚刚创建了一个反应变量!
如何使用响应式状态?
现在我们的盒子已经准备好了,那我们怎么再次查看里面的内容呢?
我们使用.value
属性来打开盒子,查看里面的内容。

注意,只有在使用JavaScript时才需要使用.value
。Vue在模板中使用时会自动解包响应式变量。
<script setup>
import { ref } from 'vue'
const count = ref(0)
console.log(count.value) // .value is necessary here
</script>
<template>
<!-- No need for .value here -->
<h1>The count is {{ count }}</h1>
</template>
改变响应式状态
现在我们可以创建响应式状态并访问它,但如何改变它呢?
要改变响应式状态,换句话说,改变盒子里的内容,你可以给.value
属性赋一个新的值。

你也可以根据之前的状态来改变状态。

结论
正如你看到的,ref()
函数非常直观和简单,就像Vue中的其他一切一样。
如果你想更多地了解这个函数,这里有一些来自Vue.js文档的推荐阅读:
响应式基础 - ref()
https://vuejs.org/guide/essentials/reactivity-fundamentals.html#ref
响应式核心 - ref()
https://vuejs.org/api/reactivity-core.html#ref
最后,打个小广告
如果你想看到更多关于Vue3的内容,请关注我,我会开始写更多关于Vue 3的博客,也可以关注我的微信:caibaojian89。
感谢阅读这篇博客!
如果你有任何问题或疑问,请随时联系我。
推荐链接:
https://icarusgk.hashnode.dev/state-management-in-vue-3
最后,如果你觉得宝哥的分享还算实在,就给我点个赞,关注一波。分享出去,也许你的转发能给别人带来一点启发。
关注我,加星标,明天见!
关注下方宝哥微信,进宝哥副业交流群,
获取我公众号整理的所有资料,
包括前端电子书,面试资料,简历模板和副业资料等!
以上,如果本文对你有所启发,欢迎点“在看、点赞”支持下吧!