文章目录
- 一、pinia是什么?
- [二、安装 Pinia](#二、安装 Pinia)
- 三、main.ts中注册
- 总结
一、pinia是什么?
Pina 是一个用于 Vue.js 的插件,它提供了一个简单的方法来管理和共享 Vuex 或 Pinia(Vuex 的下一代状态管理库)中的 store。虽然 Vuex 仍然是 Vue.js 状态管理的一个流行选择,但 Pinia 提供了一个更轻量级、模块化和类型安全的替代方案。
二、安装 Pinia
首先,你需要安装 Pinia。你可以使用 npm 或 yarn 来安装它:
c
pnpm install pinia
# 或者
yarn add pinia
另外我们还要安装一个pinia的持久化插件
c
pnpm add pinia-plugin-persistedstate -D
1.拆分模块文件夹
这样是为了以后方便维护
2.配置store信息
这里只是一个小模块,我们还要注册到主文件index.ts中做统一管理
c
import { defineStore } from 'pinia'
import { ref } from 'vue'
export interface UserInfo {
id: number
username: string
password: string
email: string
phone: string
avatar: string
createTime: string
updateTime: string
}
export const userStore = defineStore('user', () => {
// 定义数据
const userInfo = ref<UserInfo>()
const token = ref<string>('')
// 定义方法
const setToken = (val: string) => {
token.value = val
}
// 导出
return {
userInfo,
token,
setToken,
}
})

3.主入口文件的统一导出
c
import { createPinia } from 'pinia'
import persist from 'pinia-plugin-persistedstate'
// 创建 pinia 实例
const pinia = createPinia()
// 使用持久化存储插件
pinia.use(persist)
// 默认导出,给 main.ts 使用
export default pinia
// 模块统一导出
export * from './modules/member'
export * from './modules/user'
三、main.ts中注册

总结
Pinia 提供了比 Vuex 更简洁的 API,并且与 Vue 3 的 Composition API 更加契合。这使得在 Vue 3 应用中使用 Pinia 管理状态变得更加简单和直观。