uni状态管理pinpia

博客介绍了Vuex的升级版Pinia,称其方便简洁。提到uni-app内置了Pinia,使用方式分定义仓库、组件引用、页面使用。还介绍了Pinia是Vue的存储库,可跨组件、页面共享状态,有开发工具支持、热模块更换等优点,Vue 2项目暂不支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vuex的升级版 方便简洁个人感觉比vuex好用的多

引入就不多说了,官方文档都有介绍 下面直接上代码

1、首先定义仓库

import {
	defineStore
} from 'pinia';

export const editStore = defineStore('edit', {
	state: () => {
		return {
			vIndex: 0,
			views: [],
			isShowRight: false
		};
	},
	// 也可以这样定义
	// state: () => ({ count: 0 })
	actions: {
		increment() {
			this.vIndex++;
		},
	},
});

2、然后组件引用

import {
		storeToRefs
	} from "pinia";
	import {
		editStore
	} from '../../stores/edit.js';
	const store = editStore();
	const {
		vIndex,
		views,
		isShowRight
	} = storeToRefs(store); // ✅


//触发事件里直接使用即可
puClick(type) {
				
				const edit = editStore();
				console.log(edit)
				edit.views.push({
					type: type,
					title: '新建组件'
				})
			}

3、页面使用

<script>
	import {
		storeToRefs
	} from "pinia";
	import {
		editStore
	} from '../../stores/edit.js';
	const store = editStore();
	const {
		vIndex,
		views,
		isShowRight
	} = storeToRefs(store); // ✅
	export default {
		data() {
			return {
				isShowRight: isShowRight,
				width: 0,
				height: 0,
				top: 0,
				left: 0,
				vIndex: vIndex,
				views: views,
			};
		}
		
	};
</script>

下面是一部分官方介绍

状态管理 Pinia | uni-app官网

介绍

uni-app 内置了 Pinia 。

使用 HBuilder X 不需要手动安装,直接使用即可。使用 CLI 需要手动安装,执行 yarn add pinia 或 npm install pinia

Vue 2 项目暂不支持

#Pinia 是什么?

Pinia(发音为 /piːnjʌ/,如英语中的 peenya) 是 Vue 的存储库,它允许您跨组件、页面共享状态。在服务器端以及小型单页应用程序中,您也可以从使用 Pinia 中获得很多好处:

  • 开发工具支持
    • 跟踪动作、突变的时间表
    • 存储出现在使用它们的组件中
    • 时间旅行和更容易的调试
  • 热模块更换
    • 修改您的存储而不重载您的页面
    • 在开发过程中保持任何现有状态
  • 为 JS 用户提供适当的 TypeScript 支持或自动完成
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值