pinia state是个函数传参数
时间: 2024-09-06 13:03:35 浏览: 42
vue3+pinia 面向app项目
Vue 3中的pinia状态管理库是一个基于Vue 2.x的store模式设计的轻量级状态管理模式。Pinia的核心思想之一就是将应用的状态视为纯粹的数据,通过函数传递参数的方式来管理和更新。
当你在Pinia中定义一个state时,它实际上是一个响应式的对象,可以包含多个属性。你可以通过提供一个初始化函数(通常称为`defineState`或直接作为`store`的属性)来设置初始状态,并返回这个状态对象。例如:
```javascript
import { defineStore } from 'pinia';
const userStore = defineStore('user', {
state: () => ({
name: 'John Doe',
email: '',
}),
actions: {
setUsername(newName) {
this.name = newName;
},
},
});
// 使用方式
// 注册store并访问状态和方法
app.store.register(userStore);
console.log(userStore.state.name); // 输出 'John Doe'
userStore.setUsername('Jane Smith');
```
在这个例子中,`setUsername`方法就是一个接收参数的函数,它接受新的用户名并更新state。这是Pinia中处理异步操作、参数化状态更新的一种常见做法。
阅读全文