文章目录
1、Pinia 介绍
一个全新的用于 Vue 的状态管理库。下一个版本的 Vuex,也就是 Vuex 5.0。
- Pinia最初是一个实验,目的是在2019年11月左右重新设计 Vue 状态管理在Composite API上的样子,也就是下一代 Vuex:
- 之前的Vuex主要服务于Vue2,Options API
- 如果想要在Vue3中使用Vuex,需要使用 4.x 版本:只是一个过渡的选择,还有很大的缺陷
- 所以在Vue3伴随着Composition API诞生之后,也设计了全新的Vuex:Pinia,也就是Vuex5
① 核心特性
- Vue2和Vue3都支持
- 除了初始化安装和SSR配置之外,两者的API都是相同的:官方文档中主要针对Vue3进行说明,必要的时候会提供Vue2的注释
- 支持VueDevTools
- 跟踪actions、mutations的时间线:在使用容器的组件中就可以观察到容器本身
- 支持time travel (时间旅行) 更容易的调试功能:在Vue2中Pinia使用Vuex的现有接口,所以不能与Vuex一起使用
- 但是针对Vue3中的调试工具支持还不够完美,比如还没有time-travel调试功能
- 模块热更新
- 无需重新加载页面即可修改您的容器:热更新的时候保持任何现有状态
- 支持使用插件扩展Pinia功能
- 相比Vuex有更好完美的TypeScript支持
- 支持服务端渲染
② 核心概念
- Pinia从使用角度和之前的Vuex几乎是一样的,比Vuex更简单了。
- 在Vuex中有四个核心概念:State、Getters、Mutations、Actions
- 在Pinia中:State、Getters、Actions (同步异步都支持)
- Store(