Summary
RyanAI
Loading.
This content is generated based on the article and is only used for explanation and summary of the article content.
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初始化store仓库 #
pinia修改值的几种方式 #
解构state #
- 直接解构state无法实现响应式
- 使用storeToRefs将解构后 实现页面数据的响应式