vue3 + pinia 持久化

在 vue3 中,我们会用 pinia 来代替 vuex 完成状态的管理,而我们的持久化插件也变成了 pinia-plugin-persistedstate

1. 安装 pinia-plugin-persistedstate.

  • pnpm:
pnpm i pinia-plugin-persistedstate
  • npm:
npm i pinia-plugin-persistedstate
  •  yarn:
yarn add pinia-plugin-persistedstate

 注意:在安装 pinia-plugin-persistedstate 时,必须先安装了 pinia,因为 pinia-plugin-persistedstate 是基于 pinia 之上的插件。

2. 将插件添加到 pinia 实例上

import { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'

const pinia = createPinia()
pinia.use(piniaPluginPersistedstate)

 

3.  用法

3.1 全部持久化

在设置好的 store 后面加上 persist 对象,设置为 true,则所有状态都为持久化。

import { defineStore } from 'pinia'

export const useStore = defineStore('main', {
  state: () => {
    return {
      someState: '你好 pinia',
    }
  },
  persist: true
})

3.2 部分持久化(指定)

在 persist 对象中,加入 paths,并将需要持久化的 状态以字符串数组的形式传给 paths 即可。

import { defineStore } from 'pinia'

export const useStore = defineStore('main', {
  state: () => {
    return {
      someState: '你好 pinia',
    }
  },
  persist: {
        paths: ['someState']
    }
})

更多具体详情请看官网:快速开始 | pinia-plugin-persistedstate (prazdevs.github.io)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值