本文最后更新于534 天前,其中的信息可能已经过时,如有错误请发送邮件到1986413837@qq.com
什么是Pinia?
Pinia 是 Vue 的专属的最新状态管理库 ,是 Vuex 状态管理工具的替代品
Pinia的特点
1.提供更加简单的API(去掉了 mutation )
2.提供符合组合式风格的API(和 Vue3 新语法统一)
3.去掉了 modules 的概念,每一个 store 都是一个独立的模块
4.配合 TypeScript 更加友好,提供可靠的类型推断
Pinia基础使用
定义store

组件使用store

getters实现
Pinia中的 getters 直接使用 computed函数 进行模拟, 组件中需要使用需要把 getters return出去

action异步实现
异步action函数的写法和组件中获取异步数据的写法完全一致

storeToRefs工具函数
使用storeToRefs函数可以辅助保持数据(state + getter)的响应式解构


对于store中的方法 直接获取即可 不需要使用stroeToRefs函数

Pinia持久化插件
这个插件可以帮助我们将数据持久化保存在本地 利用了之前使用的Storage 帮助我们实现了数据保存本地操作的封装
1.安装插件pinia-plugin-persistedstate
npm i pinia-plugin-persistedstate
2.在main.js中使用
import persist from ‘pinia-plugin-persistedstate’
…
app.use(createPinia().use(persist))
3.配置store/counter.js

也可以设置其他配置

受益良多