快速上手vue前端存储库、全局状态管理工具pinia
pinia是什么,为什么我们要使用pinia?
- pinia是vue全局状态管理工具,类似vueX,用于全局的数据状态存储、修改变更等等
- 相较于vueX,pinia的使用较为简单,轻量级,上手容易,干掉了vueX的层层套娃
快速安装配置pinia
- 安装依赖 npm install pinia
- 创建一个store
// 创建一个store文件,对全局属性、方法变量进行管理
import { defineStore } from "pinia"; //defineStore返回一个函数进行调用,参数一为命名,即存储在本地的名称,参数二是对应的配置
//state 用于变量的存储,getters是计算属性,action是方法集合,同步异步方法均可执行
export const useStore = defineStore('store', {
state:()=>({
count:0,
}),
getters:{ },
actions:{
increaseCount(){
this.count++;
}
}
}) - 挂载pinia到vue上,vue js入口文件,main.js中操作
import { createPinia } from 'pinia';
app.use(createPinia());
如何使用pinia
//在需要使用的组件中,引入刚才导出的变量 useStore,注意,该变量是defineStore返回的函数
import { useStore } from './store';
const authStore = useStore();
// 使用变量
console.log(authStore.count);
// 调用方法
authStore.increaseCount();数据持久化操作,避免页面刷新,数据就没了
- 这里推荐插件 pinia-plugin-persistedstate
// 安装依赖 npm install pinia-plugin-persistedstate // 在挂载pinia到vue前,配置持久化,main.js入口文件中操作
import { createPinia } from 'pinia';
// 引入持久化插件
import { createPersistedState } from 'pinia-plugin-persistedstate';
const pinia = createPinia();
pinia.use(createPersistedState({
serializer: { // 指定参数序列化器
serialize: JSON.stringify,
deserialize: JSON.parse,
}
}));
app.use(pinia);// 挂载pinia// 创建一个store文件,对全局属性、方法变量进行管理
import { defineStore } from "pinia"; //defineStore返回一个函数进行调用,参数一为命名,参数二是对应的配置
//state 用于变量的存储,getters是计算属性,action是方法集合,同步异步方法均可执行
export const useStore = defineStore('store', {
state:()=>({
count:0,
}),
getters:{ },
actions:{
increaseCount(){
this.count++;
}
},
// 持久化配置
persist: {
key: 'store',//存储本地的名字
storage:window.localStorage,//存储地址,可选sessionStorage
paths:['count'],//需要持久化的变量
},
})
快速上手vue前端存储库、全局状态管理工具pinia的更多相关文章
- 小程序全局状态管理,在页面中获取globalData和使用globalSetData
GitHub: https://github.com/WozHuang/mp-extend 主要目标 微信小程序官方没有提供类似vuex.redux全局状态管理的解决方案,但是在一个完整的项目中各组件 ...
- Mobx | 强大的状态管理工具 | 可以用Mobx来替代掉redux
来源简书 电梯直达 https://www.jianshu.com/p/505d9d9fe36a Mobx是一个功能强大,上手非常容易的状态管理工具.就连redux的作者也曾经向大家推荐过它,在不少情 ...
- 状态管理工具对比vuex、redux、flux
1.为什么要使用状态管路工具 在跨层级的组件之间传递信息,尤其是复杂的组件会非常困难.也不利于开发和维护,这时我们就a需要用到状态管理工具. 2.Flux
- React的状态管理工具
Mobx-React : 当前最适合React的状态管理工具 MobX 简单.可扩展的状态管理 MobX 是由 Mendix.Coinbase.Facebook 开源和众多个人赞助商 ...
- 前端MVC Vue2学习总结(八)——Vue Router路由、Vuex状态管理、Element-UI
一.Vue Router路由 二.Vuex状态管理 三.Element-UI Element-UI是饿了么前端团队推出的一款基于Vue.js 2.0 的桌面端UI框架,手机端有对应框架是 Mint U ...
- vue组件化开发-vuex状态管理库
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.Vuex 也集成到 Vue 的官方调试工具 ...
- 微信小程序全局状态管理 wxscv
微信小程序中,数据状态不同页面中不能跨页面同步更新,也就是缺失类似vuex,mobx,redux全局的数据状态管理功能. 有些人移植了这些库,但是毕竟不是微信小程序生态的东西. Tencent也发布了 ...
- 轻量级状态管理库Pinia试吃
最近连续看了几个GitHub上的开源项目,里面都用到了 Pinia 这个状态管理库,于是研究了一下,发现确实是个好东西!那么,Pinia 的特点: 轻量化 -- Pinia 体积约1KB,十分轻巧 ...
- vuex状态管理工具
父子组件之间的通信 props传递 父 向子单向传递:且每次 父组件更新时 子组件的props会跟着更新: 如果需要 子组件把数据传递给父组件,就需要在子组件上绑定自定事件 在子组件使用this ...
- Mobx-React : 当前适合React的状态管理工具
MobX 简单.可扩展的状态管理 MobX 是由 Mendix.Coinbase.Facebook 开源和众多个人赞助商所赞助的. 安装 安装: npm install mobx ...
随机推荐
- 关于Go你不得不知道的小技巧
目录 Go 箴言 Go 之禅 代码 使用 go fmt 格式化 多个 if 语句可以折叠成 switch 用 chan struct{} 来传递信号, chan bool 表达的不够清楚 30 * t ...
- 二分查找-LeetCode704 简单题
LeetCode代码链接:https://leetcode.cn/problems/binary-search/ 题目:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ...
- Django基础笔记3(form组件)
From组件 from django.forms import Form, fields class loginForm(Form): # 设置规则 username = fields.CharFie ...
- JavaEE Day01 基础加强
今日内容 1.Junit单元测试(测试类) 2.反射 3.注解 一.Junit单元测试 1.概述 测试分类 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值 2.白盒测试:需要写代码 ...
- Python requests 上传文件(以上传图片为例)
from requests_toolbelt import MultipartEncoderimport requests encoderl = MultipartEncoder( fields = ...
- 2020-12-16HDOJ-ACMsteps笔记
1.1.5 Problem Description Your task is to calculate the sum of some integers. Input Input contains a ...
- 静态文件配置 django连接MySQL django模型层初识 ORM基本语句
目录 静态文件配置 1. 问题描述 2. 静态文件 3. 资源访问 form表单属性补充 action method 请求方法 get请求 post请求 views层 request对象 reques ...
- 可视化编排的数据集成和分发开源框架Nifi轻松入门-上
@ 目录 概述 定义 dataflow面临挑战 特性 核心概念 架构 高级概述 安装 部署 常见处理器 入门示例 概述 定义 Nifi 官网地址 https://nifi.apache.org/ Ni ...
- 微服务系列之服务监控 Prometheus与Grafana
1.为什么需要监控服务 监控服务的所属服务器硬件(如cpu,内存,磁盘I/O等)指标.服务本身的(如gc频率.线程池大小.锁争用情况.请求.响应.自定义业务指标),对于以前的小型单体服务来说,确实 ...
- day06-功能实现05
家居网购项目实现05 以下皆为部分代码,详见 https://github.com/liyuelian/furniture_mall.git 12.功能11-后台分页(分页显示家居) 12.1需求分析 ...