简介

Pinia 是一个 Vue 的存储库, Pinia最初是一个实验,它的作者是Vue.js核心团队的成员,本来是为了测试Vuex5提案而出现的,在2019年11月左右重新设计的Vue状态管理以适用于 Composition API,它不但支持Vue3也支持Vue2的options API,也是下一代的轻量级状态管理库。

官网:pinia.vuejs.org/

我们知道在不同版本的Vue中,所需要使用的状态管理库Vuex版本也是不一样的,不然就会有错误发生。

vue2.x 我们使用--》 vuex 3.x版本

vue3.x 我们使用--》vuex 4.x版本

然鹅鹅🤷‍♀️,我们的Pinia就不会有这个限制啦~~ 它不但支持Vue3也支持Vue2,且不一定要与 Composition API 一起使用,API 的使用方式在两者中也是保持一致的。★,°:.☆( ̄▽ ̄)/$: .°★ 。🌹🌹🌹

核心概念

  1. State: 用于存放数据,有点儿类似 data 的概念;
  2. Getters: 用于获取数据,有点儿类似 computed 的概念;
  3. Actions: 用于修改数据,有点儿类似 methods 的概念;
  4. Plugins: Pinia 插件。

❓为啥说Pinia是下一代的轻量级状态管理库

我们先来看看官方对官方对 Vuex5 的 Rfcs 提案如下图:github.com/vuejs/rfcs/…

而这些与不pinia的功能类似么?而且在这个提案下方的评论中 也可以看到

为啥用Pinia

在前边也介绍了Pinia是vue的官方核心开发成员开发的,天然对vue是支持的,设计也非常接近vuex5的提案,甚至vuex5的部分灵感都是来自于pinia,那究竟它到底有哪些优势呢?类比vuex 4.x好在哪呢?

那么接下来我们来看看vuex 4.x的缺点: