当前位置: 首页 > article >正文

vue3 - pinia 中的 storeToRefs

interface.d.ts文件

export interface useMyStore {
  id: string
  content: string
  type: string
  status: boolean
  collected: boolean
  date: string
  quality: string
}

useMyStore.js文件

const msgData = [
  {
    id: '123',
    content: '腾讯大厦一楼改造施工项目 已通过审核!',
    type: '合同动态',
    status: true,
    collected: false,
    date: '2021-01-01 08:00',
    quality: 'high',
  },
  {
    id: '124',
    content: '三季度生产原材料采购项目 开票成功!',
    type: '票务动态',
    status: true,
    collected: false,
    date: '2021-01-01 08:00',
    quality: 'low',
  },
]

type MsgDataType = typeof msgData;

export const useMyStore = defineStore('useMyStore', {
  state: () => ({
    msgData,
  }),

  getters: {
    unreadMsg: (state) => state.msgData.filter((item: useMyStore) => item.status),
    readMsg: (state) => state.msgData.filter((item: useMyStore) => !item.status),
  },

  actions: {
    setMsgData(data: MsgDataType) {
      this.msgData = data
    },
  },

  persist: true,
})

index.vue文件

import { storeToRefs } from 'pinia'
import { useMyStore } from '@/store'

const myStore = useMyStore()
const { msgData, unreadMsg, readMsg } = storeToRefs(myStore)

storeToRefs 是 Pinia 库中的一个辅助函数,用于将存储对象(store)中的属性转换为响应式的引用。

在上面的例子中,

使用 storeToRefs 函数将存储对象 myStore 中的 msgDataunreadMsgreadMsg 属性转换为响应式的引用,

这意味着当存储对象中的这些属性发生变化时,引用也会相应地更新。

这样做的好处是,

我们可以在组件中直接使用 msgDataunreadMsgreadMsg 这些响应式引用,而不需要手动调用 ref 函数创建响应式引用,

这样可以简化代码,并确保在模板中使用这些属性时能够保持响应式。

总之,storeToRefs 函数是用于将存储对象中的属性转换为响应式引用的便捷方法,有助于简化在 Vue 3 中使用 Pinia 进行状态管理的过程。


http://www.kler.cn/a/132251.html

相关文章:

  • 五、函数的介绍
  • 大数据毕业设计选题推荐-机房信息大数据平台-Hadoop-Spark-Hive
  • 初识MongoDB及安装
  • Struts 类型转换之局部和全局配置
  • Redis:java和SpringBoot中使用Redis
  • 小程序里面循环使用ref的话获取不到
  • java:springboot单元测试spring-boot-starter-test
  • UnoCss(原子化css引擎) 让你的开发更轻松愉快
  • 通信原理板块——奇偶监督码、方阵码、恒比码、正反码
  • 千年TGS服务器日志报错如何解决
  • Typora for Mac:打造全新文本编辑体验
  • 【广州华锐互动】VR技术助力中小学生安全教育,让学生在虚拟世界中学会自我保护!
  • 大带宽服务器需要选择哪些节点
  • Pattern Recognition投稿经验
  • mysql添加外键
  • Python-pptx教程之二操作已有PPT模板文件
  • 分布式任务调度-XXL-job
  • EasyExcel导入从第几行开始
  • 【深度学习】pytorch快速得到mobilenet_v2 pth 和onnx
  • 大型语言模型中的幻觉研究综述:原理、分类、挑战和未决问题11.15+11.16+11.17