欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > Vue3 Pinia结构化赋值storeToRefs 解决响应式丢失 保持响应式

Vue3 Pinia结构化赋值storeToRefs 解决响应式丢失 保持响应式

2024/10/24 17:20:05 来源:https://blog.csdn.net/dpc5201314/article/details/140755677  浏览:    关键词:Vue3 Pinia结构化赋值storeToRefs 解决响应式丢失 保持响应式

Store

//store里的数据const userId=ref(6699)const userMsg=reactive({token:'addadgsadadadada',phone:'13111111111',age:13})const updateUser=(newUserId)=>{userId.value=newUserId}

组件

import {useUser} from "@/store/user.js";
//导入store
const  userStore =useUser()
//得到 user 模块返回的对象
console.log(userStore.userId)
//获取用户数据
  <h1>用户信息{{userStore.userMsg}}</h1>

正常情况下需要这样去获取或者调用完方法,这都需要通过userStore.xxx去获取,有时候想直接通过方法名去使用。

const { userId ,level} =userStore

可以使用结构化赋值,但是这样失去了响应式。

正确写法

使用storeToRefs

<script setup>
import {useUser} from "@/store/user.js";
import {storeToRefs} from "pinia";const  userStore =useUser()
//得到 user 模块返回的对象const { userId ,level} =storeToRefs( userStore)
 <h1>用户ID{{userId}}</h1>

这样就不用去userStore.xxx去获取数据。

storeToRefs只负责数据的相关处理,如是方法就会失效。

使用函数

const { updateUser} = userStore

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com