Pinia Study Notes
Jun 14. 2022

摘要
RyanAI
Loading.
此内容根据文章生成,仅用于文章内容的解释与总结

Vuex 和 Pinia 的优缺点

Pinia的优点

  • 完整的 TypeScript 支持:与在 Vuex 中添加 TypeScript 相比,添加 TypeScript 更容易极其轻巧(体积约 1KB);store 的 action 被调度为常规的函数调用,而不是使用 dispatch 方法或 MapAction 辅助函数,这在 Vuex 中很常见支持多个Store,支持 Vue devtools、SSR 和 webpack 代码拆分。

Pinia的缺点

  • 不支持时间旅行和编辑等调试功能

Vuex的优点

  • 支持调试功能,如时间旅行和编辑
  • 适用于大型、高复杂度的Vue.js项目

Vuex的缺点

  • 从 Vue 3 开始,getter 的结果不会像计算属性那样缓存
  • Vuex 4有一些与类型安全相关的问题

pinia介绍

  • Pinia.js 有如下特点:

  • 完整的 ts 的支持;

  • 足够轻量,压缩后的体积只有1kb左右;

  • 去除 mutations,只有 state,getters,actions;

  • actions 支持同步和异步;

  • 代码扁平化没有模块嵌套,只有 store 的概念,store 之间可以自由使用,每一个store都是独立的

  • 无需手动添加 store,store 一旦创建便会自动添加;

  • 支持Vue3 和 Vue2;

pinia使用介绍

pinia初始化store仓库

pinia修改值的几种方式

解构state

  • 直接解构state无法实现响应式
  • 使用storeToRefs将解构后 实现页面数据的响应式

pinia中的actions和getters

pinia插件

>
CC BY-NC-SA 4.0 2021-PRESENT © Ryan Co