• 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的更多相关文章

  1. 小程序全局状态管理,在页面中获取globalData和使用globalSetData

    GitHub: https://github.com/WozHuang/mp-extend 主要目标 微信小程序官方没有提供类似vuex.redux全局状态管理的解决方案,但是在一个完整的项目中各组件 ...

  2. Mobx | 强大的状态管理工具 | 可以用Mobx来替代掉redux

    来源简书 电梯直达 https://www.jianshu.com/p/505d9d9fe36a Mobx是一个功能强大,上手非常容易的状态管理工具.就连redux的作者也曾经向大家推荐过它,在不少情 ...

  3. 状态管理工具对比vuex、redux、flux

    1.为什么要使用状态管路工具  在跨层级的组件之间传递信息,尤其是复杂的组件会非常困难.也不利于开发和维护,这时我们就a需要用到状态管理工具.     2.Flux

  4. React的状态管理工具

    Mobx-React : 当前最适合React的状态管理工具   MobX 简单.可扩展的状态管理        MobX 是由 Mendix.Coinbase.Facebook 开源和众多个人赞助商 ...

  5. 前端MVC Vue2学习总结(八)——Vue Router路由、Vuex状态管理、Element-UI

    一.Vue Router路由 二.Vuex状态管理 三.Element-UI Element-UI是饿了么前端团队推出的一款基于Vue.js 2.0 的桌面端UI框架,手机端有对应框架是 Mint U ...

  6. vue组件化开发-vuex状态管理库

    Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.Vuex 也集成到 Vue 的官方调试工具 ...

  7. 微信小程序全局状态管理 wxscv

    微信小程序中,数据状态不同页面中不能跨页面同步更新,也就是缺失类似vuex,mobx,redux全局的数据状态管理功能. 有些人移植了这些库,但是毕竟不是微信小程序生态的东西. Tencent也发布了 ...

  8. 轻量级状态管理库Pinia试吃

      最近连续看了几个GitHub上的开源项目,里面都用到了 Pinia 这个状态管理库,于是研究了一下,发现确实是个好东西!那么,Pinia 的特点: 轻量化 -- Pinia 体积约1KB,十分轻巧 ...

  9. vuex状态管理工具

    父子组件之间的通信  props传递  父 向子单向传递:且每次 父组件更新时  子组件的props会跟着更新: 如果需要 子组件把数据传递给父组件,就需要在子组件上绑定自定事件 在子组件使用this ...

  10. Mobx-React : 当前适合React的状态管理工具

    MobX 简单.可扩展的状态管理        MobX 是由 Mendix.Coinbase.Facebook 开源和众多个人赞助商所赞助的.    安装 安装: npm install mobx ...

随机推荐

  1. Devexpress 图表显示数据标签

    dev的图标功能非常强大其中有一些设置可以更好的展现出数据 设置Series的标签 series.LabelsVisibility = DevExpress.Utils.DefaultBoolean. ...

  2. 小米路由器局域网设备ping不通

    问题 手机和电脑在同一个局域网内,都连接上小米路由器,我发现电脑部署的服务局域网设备都访问不到,甚至ping不到,排除了防火墙问题,最终发现是路由器一个设置导致的. 解决 将原来的混合加密,更换为强加 ...

  3. ssh框架中文保存数据库MySQL乱码

    检查后台获取前端页面数据打印到console控制台无乱码:tomcat配置没有问题: 检查MySQL数据库编码设置:字符集:utf8 -- UTF-8 Unicode,排序规则:utf8_genera ...

  4. 【大数据面试】【数仓项目】分层:ODS层、DWD层、DWS层、ADS层构成、操作

    一.ODS层 1.保持数据原貌,不做任何修改 2.数据压缩:LZO压缩,减少磁盘空间 3.创建的是分区表:可以防止后续的全表扫描 包括 用户行为:string line dt    ods_start ...

  5. 【每日一题】【与运算判断奇偶】【list的重载前后插入】2021年11月25日-103. 二叉树的锯齿形层序遍历

    给定一个二叉树,返回其节点值的锯齿形层序遍历.(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行). 例如:给定二叉树 [3,9,20,null,null,15,7], 来源:力扣 ...

  6. FP6397S5 高效、高频同步DC-DC降压变频器IC

    FP6397是一种高效.高频同步DC-DC降压变频器.100%占空比功能提供了低退出操作,延长了便携式系统的电池寿命. 内部同步开关提高了效率,并消除了对外部肖特基二极管的需要.在停机模式下,输入电源 ...

  7. [数据结构]哈希拉链法化解冲突+ASL计算

    看这篇就好(自用,别骂我) 摘自博客园 存疑:学校考试空节点算不算查找次数???

  8. 前缀树(Tire)—Python

    核心思想 空间换时间,是一种用于快速减速的多叉树结构,利用字符串的公共前缀来降低时间 优缺点: 优点:查询效率高,减少字符比较 缺点:内存消耗较大 每次都会从头向下一直到字符串结尾 前缀树 1 单个字 ...

  9. 实践GoF的23种设计模式:命令模式

    摘要:命令模式可将请求转换为一个包含与请求相关的所有信息的对象, 它能将请求参数化.延迟执行.实现 Undo / Redo 操作等. 本文分享自华为云社区<[Go实现]实践GoF的23种设计模式 ...

  10. [whk] 解三元一次方程

    注:本篇运用大量 Katex ,如果炸了可能是运存不够也可能还要加载一会,重进几次即可.(都2202了,居然还存在我这种会炸公式的笔记本) 前言 写这篇随笔的由来是今天学习了: 不共线三点确定二次函数 ...