pinia使用 piniaPluginPersist 持久化使用时候,添加persist属性时报错:没有与此调用匹配的重载

在tsconfig.json中将目标设置为ES2020导致piniaPluginPersist无法正常工作。问题在于配置与插件的重载不匹配。将配置更改为正确格式后,需完整写出persist配置,如启用、存储类型及路径,问题得到解决。
摘要由CSDN通过智能技术生成

 图片这种报错:添加persist,显示没有与此调用匹配的重载

原因:自己的问题是,在tsconfig.json中配置了 "target": "ES2020" (如下),然后就导致引入piniaPluginPersist的时候被当成组件使用就没有效果。(至于为什么,自己还不知道,大佬可以说哈)

{
    "compilerOptions": {
        "target": "ES2020",
        "useDefineForClassFields": true,
        "module": "ESNext",
        "lib": ["ES2020", "DOM", "DOM.Iterable"],
        "skipLibCheck": true,
        "allowJs": true,
        "typeRoots": ["./node_modules/@types", "./types"],
        "types": ["pinia-plugin-persist"],
        /* Bundler mode */
        "moduleResolution": "bundler",
        "allowImportingTsExtensions": true,
        "resolveJsonModule": true,
        "isolatedModules": true,
        "noEmit": true,
        "jsx": "preserve",

        /* Linting */
        "strict": true,
        "noUnusedLocals": true,
        "noUnusedParameters": true,
        "noFallthroughCasesInSwitch": true
    },
    "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
    "references": [{ "path": "./tsconfig.node.json" }],
    "paths": {
        "@/*": ["src/*"],
        "views/*": ["src/views/*"]
    }
}

 解决:后面tsconfig.json改成如下就可以正常写入

{
    "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
    "references": [{ "path": "./tsconfig.node.json" }],
    "compilerOptions": {
        "allowJs": true,
        "baseUrl": ".",
        "paths": {
            "@/*": ["./src/*"],
            "views/*": ["src/views/*"]
        }
    }
}

注意:persist需要写全。如下

    persist: {
        enabled: true,
        strategies: [
            { storage: sessionStorage, paths: ["counter"] }, // counter字段用sessionStorage存储
            { storage: localStorage, paths: ["name"] }, // name 字段用localstorage存储
        ],
    },

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值