Vue3中的Pinia是一个设计精巧且易于理解的状态管理库,它旨在提供组合式API,支持Vue2和Vue3,并允许灵活地选择使用方式。本文总结了在使用Pinia时容易忽视的关键点和实践技巧。Pinia的特点包括:轻量级,压缩后仅1kb左右;具有插件扩展性,可以增强功能;提供TS支持和自动补全,方便JS开发者;移除了Vuex中的mutations和modules,仅保留state、getters和actions;Devtools支持,便于调试;同时支持同步和异步的actions;适用于Vue2和Vue3,且兼容服务器端渲染。要开始使用Pinia,首先在main.ts中引入并注入。创建'stores'文件夹,定义每个store的唯一标识,并在index.ts中定义store,包括state、getters和actions。在App.vue中,通过useStore来实现状态管理,并在Devtools中观察store的实时数据。关于状态管理,Pinia的state可以通过多种方式修改,如直接赋值、批量更新、自定义修改逻辑,以及通过actions实现异步修改。然而,解构state时需注意响应性的缺失,可以借助storeToRefs解决。actions支持同步和异步操作,而getters则用于计算逻辑,可以互相调用。Pinia还提供了API,如$reset重置状态、$onAction监听action和结果、$subscribe监听状态变化。然而,页面刷新可能导致状态丢失,这时需要借助localStorage等技术实现持久化。小满Pinia视频、官方文档和持久化插件文档是深入学习的重要参考。