Pinia报错“getActivePinia()“ was called but there was no active Pinia. Are you trying to use a store be

首先我们安装pinia

yarn add pinia
# 或者使用 npm
npm install pinia

然后在项目中创建全局参数例如下面这样

import { defineStore } from "pinia";

interface User{
    username: string;
}

export const userInfo = defineStore('user', {
    state: () => ({
        username: '1',
    }),

    actions: {
        // 通过 action 提交 mutation 更新用户信息
        saveUserInfo(user: User) {
          this.username = user.username; // 更新用户名
        },
    },
    getters: {
        // 获取用户的 username
        getUserInfo(state) {
          return state.username;
        },
    }
})

然后去main.ts文件中创建应用pinia

然后在其他文件中引用创建的全局参数

启动项目就会报错

千辛万苦下我在其他文章中找到了错误原因,是因为下面在router文件中,我使用这种形式的引用会导致home页面会比pinia先加载完成,这样会导致上面的错误

解决办法将引用改为下面这样就可以正常引用了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值