Skip to content

全局状态管理

使用 Vuejs 内置的 API 仅能实现组件间纵向的数据(状态)传递,如何实现横向组件间数据(状态)传递就需要引入全局的、集中式的状态管理。状态管理的应用是应用程序横向跨组件实现数据(状态)传递的有效手段。

Pinia 简介

Pinia 是在为 Vuex 进行下一版本探索实验中对其取而代之的状态管理库,Pinia 拥有一组组合式API 且除安装和 SSR 之外的部分,其余 API 均支持在 Vue2Vue3 中使用。

Pinia 特点

  1. 所见即所得:与组件类似的 Store。其 API 的设计旨在让你编写出更易组织的 store。

  2. 类型安全:支持类型推断,且在 JavaScript 中实现自动补全。

  3. 开发工具支持:支持 vue devtools 调试工具。

  4. 可扩展性:可以通过扩展实现同步本地存储等更多想法。

  5. 模块化设计:可构建多个 Store 并允许你的打包工具自动拆分它们。

  6. 极致轻量化:Pinia 仅占用 1kb 左右的磁盘空间。

认识 Store

Store 是承载全局状态的实体,可以理解为与根组件 APP 同级的状态组件,Store 包含了 stategetteraction 三大概念,可以简单的理解为普通组件中的 datacomputedmethods