Pinia持久化存储

为了在页面刷新后保留状态,我们可以使用 pinia-plugin-persistedstate 插件来实现状态持久化存储。

1. 安装持久化插件pinia-plugin-persistedstate

1. 安装依赖

1
npm install pinia-plugin-persistedstate

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

main.js 中添加插件配置。

1
2
3
4
5
6
import { createPinia } from 'pinia';
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate';

const store = createPinia();

store.use(piniaPluginPersistedstate);

2. 用法

1. 基本使用

在 store 中启用状态持久化。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import { defineStore } from 'pinia';
export const useUserStore = defineStore(
'user',
() => {
const token = ref<string>();
const setToken = (value: string) => {
token.value = value;
};
const clearToken = () => {
token.value = void 0;
};
return {
token,
setToken,
clearToken,
};
},
{
persist: true,
},
);

2. 高级使用

可以自定义持久化的配置,如存储的 key 和使用的存储方式。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { defineStore } from 'pinia';
export const useUserStore = defineStore(
'user',
() => {
const token = ref<string>();
const setToken = (value: string) => {
token.value = value;
};
const clearToken = () => {
token.value = void 0;
};
return {
token,
setToken,
clearToken,
};
},
{
persist: {
key: 'userStore',
storage: localStorage,
},
},
);

Pinia持久化存储
http://example.com/Pinia持久化存储/
作者
Panyurou
发布于
2025年10月21日
许可协议