nuxt使用pinia报错“getActivePinia()“ was called but there was no active Pinia.

pinia创建了个userInfo专门用于是否在加载中,然后二次封装的request.ts文件中使用了,因为用户信息是全局组件,所以就将用户的所有信息放在了userInfo中。 但是我在userInfo中使用的时候,发现报错: [🍍]: "getActivePinia()" was called but there was no active Pinia. Are you trying to use a store before calling "app.use(pinia)"? See https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help. This will fail in production.

如果重新引用一次pinia这种方法虽然可以解决问题,但是如果项目中使用了pinia的持久化,那个被引入的模块的持久化就会失效。一般可以在方法内声明使用这样就不会报错也不会出现持久化失效的问题

import axios from 'axios'
import { useUserInfoStore} from "~/stores/userInfo";

// 创建axios实例
const requester = axios.create({
    //设置基础路径
    // baseURL: 'http://127.0.0.1/',
    // 请求超时时间
    timeout: 15000
})

requester.interceptors.request.use((config) => {
    /* 将引用信息在方法内部生命使用,这样就不会报错了*/
    const userInfo = useUserInfoStore()
    Object.assign(config.headers,{token:userInfo.token})
    return config
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值