博客
关于我
Pinia入门(快速上手)
阅读量:793 次
发布时间:2023-03-02

本文共 1144 字,大约阅读时间需要 3 分钟。

定义和使用 Pinia Store

在深入理解 Pinia 核心概念之前,我们需要了解 Store 是如何定义的。Store 是通过 defineStore() 方法来创建的,并且它需要一个唯一的名称作为第一个参数传递。

定义 Store

首先,导入 defineStore 方法:

import { defineStore } from 'pinia'

name 参数是必需的,Pinia 使用它将 Store 连接到开发工具中。返回的函数可以命名为 use...,这是一个跨组件间的约定,以符合你的使用习惯。

export const useStore = defineStore('main', {
// 其他选项...
})

setup() 组件中调用 useStore() 之前,不会创建 Store 实例。例如:

import { useStore } from '@/stores/counter'
export default {
setup() {
const store = useStore()
return {
store,
}
},
}

你可以定义任意数量的 Store,并且建议在不同的文件中定义每个 Store,以充分利用 Pinia 的优势(如代码拆分和 TypeScript 推理)。

使用 Store

Store 实例是一个带有反应性封装的对象,不需要 .value 后缀,但不能像解构 props 那样解构。直接在 Store 上访问状态、计算属性和动作属性即可。

export default defineComponent({
setup() {
const store = useStore()
// ❌ 不起作用,破坏响应式
// const { name, doubleCount } = store
// return { name, doubleCount }
// 使用 storeToRefs 创建响应式引用
const { name, doubleCount } = storeToRefs(store)
return { name, doubleCount }
},
})

注意事项

  • Store 是一个反应性对象,不需要 .value。
  • 避免在 setup() 中解构 Store,使用 storeToRefs 创建响应式引用。
  • 不同的 Store 应该在不同的文件中定义,以便于代码拆分和 TypeScript 推理。

通过以上方法,你可以轻松地使用和管理 Pinia Store,充分利用其强大的响应式特性。

转载地址:http://gqtfk.baihongyu.com/

你可能感兴趣的文章
PHP第三方登录—OAuth2.0协议
查看>>
php筛选js,php如何多条件筛选js代码
查看>>
R730服务器做了raid的硬盘,插在R720上面可以用吗?
查看>>
PHP类数组式访问(ArrayAccess接口)
查看>>
PHP系列:浅谈PHP中isset()和empty() 函数的区别
查看>>
PHP索引数组unset的坑-array_values解决方案
查看>>
PHP索引数组排序方法整理(冒泡、选择、插入、快速)
查看>>
PHP线程安全和非线程安全
查看>>
R3LIVE开源项目常见问题解决方案
查看>>
php缃戠珯,www.wfzwz.com
查看>>
php缓存查询函数
查看>>
php编写TCP服务端和客户端程序
查看>>
php编码规范
查看>>
PHP编码规范-PSR1、psr2 /psr3 psr4
查看>>
PHP编程效率的20个要点
查看>>
PHP网页缓存技术优点及代码
查看>>
PHP自动化测试(一)make test 和 phpt
查看>>
php自定义函数: 文件大小转换成智能形式
查看>>
php英语单词,php常用英语单词,快速学习php编程英语(6)
查看>>
R3.4.0安装包时报错“需要TRUE/FALSE值的地方不可以用缺少值”,需升级到R3.5.0
查看>>