全局状态管理
使用 Vuejs 内置的 API 仅能实现组件间纵向的数据(状态)传递,如何实现横向组件间数据(状态)传递就需要引入全局的、集中式的状态管理。状态管理的应用是应用程序横向跨组件实现数据(状态)传递的有效手段。
Pinia 简介
Pinia 是在为 Vuex 进行下一版本探索实验中对其取而代之的状态管理库,Pinia 拥有一组组合式API 且除安装和 SSR 之外的部分,其余 API 均支持在 Vue2 和 Vue3 中使用。
Pinia 特点
所见即所得:与组件类似的 Store。其 API 的设计旨在让你编写出更易组织的 store。
类型安全:支持类型推断,且在 JavaScript 中实现自动补全。
开发工具支持:支持 vue devtools 调试工具。
可扩展性:可以通过扩展实现同步本地存储等更多想法。
模块化设计:可构建多个 Store 并允许你的打包工具自动拆分它们。
极致轻量化:Pinia 仅占用 1kb 左右的磁盘空间。
认识 Store
Store 是承载全局状态的实体,可以理解为与根组件 APP 同级的状态组件,Store 包含了 state
、getter
和 action
三大概念,可以简单的理解为普通组件中的 data
、computed
和 methods
。