使用pinia持久化插件时踩过的坑

使用  pinia-plugin-persistedstate 和 pinia-plugin-persist 插件时,按说明配置好后,依旧本地存储无效

                下面是我出现问题时的配置情况

import { createPinia } from "pinia";
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
const pinia = createPinia();


pinia.use(piniaPluginPersistedstate);

export default pinia;
import { defineStore } from "pinia";

export const useUserStore = defineStore({
  id: "storeUser",
  state: () => {
    return {
      teacherId: "",
      islogin: false,
      token: "",
    };
  },
  persist: true,
});

然后在这个情况下 我 登录后,向pinia中添加token数据,按理来说,应该就会将useUserStore  中的所有数据存储在本地的,然而并没有

下面是我点击登录 , 成功后做的操作,但是修改了state了,应该就要存在本地了吧,但是就这么出bug了

不说废话, 我这个持久化 插件没有起作用的原因是 在下面的图片

因为我想在 路由这里 使用 pinlia中的state中的值 , 然后跳转页面时做判断

本来我是这么写的,但是浏览器报错了

 

 所以我又复制了报错 , 去浏览器中搜索,找到解决方法,成功不报错了,也能在router中使用了,但是却使那个持久化插件不工作了

 

 但为了 实现在路由守卫中使用  pinia中的数据 ,把 useUserStore() 这句 放到路由守卫中了

 

 好了 分享就到这里了, 我使用  pinia-plugin-persistedstate 工作不了的原因就是在路由文件中的这三句代码。

import pinia from '../stores/store'

import { useUserStore } from '@/stores/user'

let userStore = useUserStore(pinia)

如果有小伙伴遇到和我一样的问题,然后解决了的话,记得回来给我点个赞哦 ,阿里嘎多

 

 

  • 14
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值