Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Pinia与Vuex到底哪个好用?什么时候用?

Pinia与Vuex到底哪个好用?什么时候用?

作者头像
JanYork_简昀
发布于 2022-09-19 03:10:50
发布于 2022-09-19 03:10:50
5.3K00
代码可运行
举报
文章被收录于专栏:小简技术栈小简技术栈
运行总次数:0
代码可运行

介绍

首先,这两个都是Vue的状态管理库。

不过在Vue2的时候,可能大部分都是使用Vuex,而到了Vue3Pinia就见得多了。

PiniaVue.js 的轻量级状态管理库,最近很受欢迎。它使用 Vue 3 中的新反应系统来构建一个直观且完全类型化的状态管理库。

Pinia在整体功能上并不如Vuex强大,但是他对数据的管理非常独特:

Pinia数据管理可扩展性、存储模块组织、状态变化分组、多存储创建等特点。

VuexVue核心团队推荐的状态管理库。

Vuex高度关注应用程序的可扩展性、开发人员的工效和信心。它基于与Redux相同的流量架构。

ReduxJavaScript的状态管理库。

配置Pinia

Pinia 上手很容易,只需要安装和创建一个store,没有复杂的操作。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn add pinia@next
# or with npm
npm install pinia@next

默认版本是与Vue3兼容的,如果你要在Vue2中使用它,你可以查看官方文档。

Pinia是一个围绕Vue 3 Composition API的封装器(Vue 3 Composition API也就是组合式API)。

注意:你不必把它作为一个插件来初始化,除非你需要Vue devtools支持、SSR支持和webpack代码分割的情况。

在全局导入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import { createPinia } from 'pinia'

app.use(createPinia())

使用我就不多说了,主要讲它与Vuex的区别。

配置Vuex

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
npm install vuex@next --save
# or with yarn
yarn add vuex@next --save

相比Pinia,Vuex的流程比较复杂,官方提供了一张原理图。

状态也是分为了3种。

使用起来相比Pinia也没那么方便,但是Vuex的功能强大。

一轮配置下来,其实配置过程也都差不多。

比较

查阅官方文档,发现Vuex的项目结构非常灵活。

什么时候去使用Vuex?

Vuex 可以帮助我们管理共享状态,并附带了更多的概念和框架。这需要对短期和长期效益进行权衡。

如果您不打算开发大型单页应用,使用 Vuex 可能是繁琐冗余的。确实是如此——如果您的应用够简单,您最好不要使用 Vuex。一个简单的 store 模式就足够您所需了。但是,如果您需要构建一个中大型单页应用,您很可能会考虑如何更好地在组件外部管理状态,Vuex 将会成为自然而然的选择。引用 Redux 的作者 Dan Abramov 的话说就是:

Flux 架构就像眼镜:您自会知道什么时候需要它。

这是官方文档的话语,说的挺好。

它说如果程序较简单,一个简单的store模式就可以满足需求,没必要使用Vuex,但是手动去构建一个store还是比较麻烦,这时候,Pinia轻量的优势就来了,他就是算一个单一的强大的store模式状态管理。

Pinia中文文档也告诉了我们,何时去适应它。

Pinia 的社区很小,这导致 Stack Overflow 上的贡献很少,解决方案也很少。

但是现在生态也伴随着Vue3的发展开始完善了。

VuexVue.js 核心团队推荐的状态管理库,拥有庞大的社区,核心团队成员做出了重大贡献。 Stack Overflow上很容易找到 Vuex 错误的解决方案。

PiniaGitHub上的评分也是增长迅速,广受好评。

其余的功能方面比较,掘金社区有更好的文本参考,我就直接截图了:

Vuex使用很简单,使用得恰当好处还是不容易的,我想下一篇更新一下如何更好的使用Vuex。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022 年 08 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
测试一下Pinia,Vuex 要出局了?
自从我开始使用Vue 3和组合API以来,我也尝试使用 Pinea 作为状态管理库。如果是从是 vue2 和 vuex 过来的,就会觉得用起来差别还是很大的。
前端小智@大迁世界
2022/09/01
6560
测试一下Pinia,Vuex 要出局了?
Vue3(ts)中使用 pinia
Pinia 最初是在 2019 年 11 月左右重新设计使用 Composition API,可以理解为下一代 vuex,作者也称之为vuex5,同时vue已经将 pinia 收入 官方账户了
iwhao
2024/07/03
5991
Vue 框架学习系列五:Vue 3 与状态管理库 Pinia 的深度集成
在构建复杂的 Vue.js 应用时,状态管理是一个重要的考虑因素。Vuex 是 Vue.js 官方推荐的状态管理库,但随着 Vue 3 和 Composition API 的发布,一个新的状态管理库 Pinia 开始崭露头角。Pinia 提供了与 Vue 3 和 Composition API 更紧密的集成,同时保持了 Vuex 的核心概念,如 state、mutations、actions 和 getters。本篇文章将探讨如何在 Vue 3 应用中深度集成 Pinia。
china马斯克
2024/10/04
3490
Pinia不就是Vuex5?
刚开始使用vue3的时候,全局状态管理器都是使用pinia。还没去了解的时候并不明白为什么要换掉vuex,毕竟是用了好几年的状态管理器,能达到的效果和语法跟vuex几乎一模一样,所以为什么要换?
wade
2022/12/02
5910
Pinia不就是Vuex5?
Vue3之状态管理:Vuex和Pinia,孰强孰弱?
在前端开发中,状态管理器是一种用于管理应用程序全局状态的工具。它通常用于大型应用程序,可以帮助开发者更好地组织和管理状态,并提供一些强大的工具来简化状态的变更和使用。
用户6297767
2023/11/21
2.6K0
Vue3之状态管理:Vuex和Pinia,孰强孰弱?
一个基于vite构建的vue3+pinia+ts+elementUI plus的初始化开箱即用的项目模版
Vite 需要 Node.js 版本 >= 12.0.0。然而,有些模板需要依赖更高的 Node 版本才能正常运行,当你的包管理器发出警告时,请注意升级你的 Node 版本。
用户6297767
2023/11/21
9390
一个基于vite构建的vue3+pinia+ts+elementUI plus的初始化开箱即用的项目模版
Pinia进阶:优雅的setup(函数式)写法+封装到你的企业项目
Hello大家好,相信在座各位假如使用Vue生态开发项目情况下,对Pinia状态管理库应该有所听闻或正在使用,假如还没接触到Pinia,这篇文章可以帮你快速入门,并如何在企业项目中更优雅封装使用。
南山种子外卖跑手
2022/02/22
7.2K0
Pinia进阶:优雅的setup(函数式)写法+封装到你的企业项目
Pinia 快速入门
Pinia 是一个用于 Vue 的状态管理库,类似 Vuex, 是 Vue 的另一种状态管理方案 Pinia 支持 Vue2 和 Vue3
李维亮
2021/08/09
1.9K2
Vue项目进阶:再谈Pinia函数式(composition API)用法
Hello大家好,前段时间写了一篇关于Pinia的composition API用法的文章《Pinia进阶:优雅的setup(函数式)写法+封装到你的企业项目》,收到了不少朋友的反馈和建议。笔者也结合最近项目情况和网友们的建议做一次优化,也算是一个比较完整的版本了,这包括:
南山种子外卖跑手
2022/04/21
3.5K0
Vue项目进阶:再谈Pinia函数式(composition API)用法
了解Pinia:Vue.js的新一代状态管理库
在Vue.js开发中,状态管理是一个重要的问题。为了更好地管理应用程序的状态,开发者们通常会使用Vuex。然而,随着Vue 3的发布,一个新的状态管理库Pinia也逐渐崭露头角。本文将深入介绍Pinia的使用方式,并与Vuex进行比较,以帮助开发者更好地理解和选择适合自己项目的状态管理库。
can4hou6joeng4
2023/11/16
2710
vue3了,试试轻量化的Vuex -- Pinia?
Pinia 是 Vue.js 的轻量级状态管理库,最近很受欢迎。它使用 Vue 3 中的新反应系统来构建一个直观且完全类型化的状态管理库。
玖柒的小窝
2021/11/04
1.5K0
vue3了,试试轻量化的Vuex -- Pinia?
欧耶!Pinia 正式成为 vuejs 的一员
Pinia 正式成为 vuejs 官方的状态库,意味着 🍍 就是 Vuex 5.x 。 先来看早期 vue 上一个关于 Vuex 5.x 的 RFC : 描述中可以看到,Vue 5.x 主要改善以下几个特性: 同时支持 composition api 和 options api 的语法; 去掉 mutations,只有 state、getters 和 actions; 不支持嵌套的模块,通过组合 store 来代替; 更完善的 Typescript 支持; 清晰、显式的代码拆分; 而 Pinia
码农小余
2022/06/16
6760
欧耶!Pinia 正式成为 vuejs 的一员
感受 Vue 新的状态管理工具之美之 Pinia---学习篇
相信在Vue中提到状态管理,大家一定会想到 Vuex。的确 Vuex确实是比较强大的,但Vuex 多少有点重,而且对 Typescript的支持也不是那么的友好,同时门槛也比较高,学习成本比较大。
用户9078190
2022/10/28
2560
感受 Vue 新的状态管理工具之美之 Pinia---学习篇
快速了解并使用pinia
Pinia 是 Vue 的专属状态管理库,它允许你跨组件或页面共享状态。它和vuex的作用一样都是做状态管理的。
用户9914333
2022/12/14
8130
快速了解并使用pinia
Pinia状态管理器学习笔记,持续记录
官方文档:https://pinia.vuejs.org/ 中文文档:https://pinia.web3doc.top/
房东的狗丶
2023/02/17
1.7K0
Vue.js 状态管理:Pinia 与 Vuex
Vuex 和 Pinia 是用于管理 Vue.js 应用程序状态的标准 Vue.js 库。让我们比较一下他们的代码、语言、功能和社区支持。
海拥
2023/02/27
2.8K0
Pinia:Vue3中的新宠,轻松上手教程!
Vue3是Vue3是一款非常流行的JavaScript框架,它的出现为我们开发Web应用程序提供了更加高效和便捷的方式。在Vue3中,我们可以使用Pinia来进行状态管理,这是一个非常流行的状态管理库,它可以帮助我们更好地组织和管理应用程序的状态。在本文中,我们将探讨如何使用Vue3和Pinia,并持久化处理。
Front_Yue
2024/01/11
5710
Pinia:Vue3中的新宠,轻松上手教程!
Vue3中使用Pinia详解
Pinia是一个专门为Vue.js设计的状态管理库,它提供了一种简单和直观的方式来管理应用程序的状态。在使用Pinia时,可以轻松地创建定义状态的存储,然后将其与Vue组件绑定,使它们能够使用该状态。和上一个博客提到的Vuex相比,Pinia 更加简单易用,体积更小,同时具有更好的 TypeScript 支持和插件系统。
九仞山
2023/10/14
1K0
Vue3学习笔记(七)—— 状态管理、Vuex、Pinia
理论上来说,每一个 Vue 组件实例都已经在“管理”它自己的响应式状态了。我们以一个简单的计数器组件为例:
张果
2022/11/28
4.1K0
Vue3学习笔记(七)—— 状态管理、Vuex、Pinia
pinia基本使用介绍
比如开始的时候我们可以使用缓存进行同步数据,虽然很low但是它确实属于一种方案,但是这种方案的实时性很差,也就是很难做到信息的及时同步,虽然你可以写很多监听来达到一个同步的效果,但是代码维护起来就会很笨重
何处锦绣不灰堆
2022/09/21
9110
相关推荐
测试一下Pinia,Vuex 要出局了?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验