pinia的使用方法&&vuex的区别

在vue3项目中,vuex的版本为4.x,基本使用方法与vuex 3.x版本基本相似,而pinia则是vuex5的提案,同时,vue团队也推荐在vue3项目中使用pinia,未来有可能取代vuex。

众所周知,vue3是由TS重写,对TS的支持度更好,而pinia对类型推断也更友好。

安装 npm i pinia 或者yarn add pinia

在pinia中,mutations已被省略,无论是异步还是同步方法,都放在actions中使用。state,getters和actions使用方法与vuex保持一致。

main.js需配置

improt { createStore } from 'pinia'
const pinia = createStore()
createApp().use(pinia).mount('#app')

然后在src下面的store文件夹里面的index.js即可开始使用。

improt { defineStore } from 'pinia'
const useCountStore = defineStore('count',{
	state:()=>{},
	getters:{},
	actions:{}
	})
	//这里与vuex使用基本一致,其中,defineStore实例里面的'count'起标识符的作用,区别store文件。

注意:项目要用pinia则不能同时用vuex。

Vue 3 中的 Pinia 和 Vue 2 中的 Vuex 是两种不同的状态管理库,它们之间有一些区别。 1. API 设计:Pinia 在设计上更加简单和直观。它采用了类似于 Vue 3 的 Composition API 风格,通过创建独立的 store 实例并暴露出一组 getter、mutation、action 等函数来管理状态。而 Vuex 在 Vue 2 中使用基于对象的 API,通过创建全局的 store 对象来管理状态。 2. 响应式系统:Pinia 使用了 Vue 3 的响应式系统,可以更好地与 Vue 3 的生态系统集成。它利用了 Proxy 对象来进行状态的跟踪和更新,提供了更高效和灵活的响应式能力。Vuex 在 Vue 2 中使用了 Object.defineProperty 来实现响应式,与 Vue 2 的响应式系统紧密集成。 3. TypeScript 支持:Pinia 在设计上更加友好地支持 TypeScript。它提供了更强大的类型推导和类型约束,可以更好地帮助开发者在编写代码时避免错误。Vuex 在 Vue 2 中也有一些 TypeScript 的支持,但相比之下 Pinia 提供了更好的类型支持。 4. 插件生态系统:由于 Vuex 是 Vue 2 的官方状态管理库,因此它有着非常丰富的插件生态系统。许多第三方插件和工具都与 Vuex 集成得非常好。Pinia 在 Vue 3 发布较短时间内,插件生态系统相对较小,但也在不断增长。 需要注意的是,虽然 Pinia 是 Vue 3 推荐的状态管理库,但 Vuex 仍然可以在 Vue 3 中使用,并且在许多项目中仍然广泛使用。选择使用哪个状态管理库取决于项目的需求、开发团队的经验和个人偏好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值