pinia.js报patchToApply.hasOwnProperty is not a function

vue3 + ts + pinia.js 

先看报错=> patchToApply.hasOwnProperty is not a function

 错误信息:

pinia.js?v=91704efd:913 Uncaught (in promise) TypeError: patchToApply.hasOwnProperty is not a function
    at mergeReactiveObjects (pinia.js?v=91704efd:913:23)
    at mergeReactiveObjects (pinia.js?v=91704efd:918:21)
    at Proxy.$patch (pinia.js?v=91704efd:1032:7)
    at login.vue:180:7
    at async validateField (chunk-WIW5DRE4.js?v=91704efd:6092:11)

解决方案:

1 检查自己的代码,是否将“非响应式”数据赋值了。看我代码,我用的非响应式赋给了pinia中。

 let resUserInfo: any = await getUserInfo({}) // 获取用户信息
      setStorage('userRole', resUserInfo.user.roles[0].roleKey) // 设置本地token
      _userInfo.value = resUserInfo
      // 批量修改state
      store.$patch({
        userRole: resUserInfo.user.roles[0].roleKey, //角色
        userInfo: resUserInfo.user, //用户全部信息
        isAdmin: resUserInfo.user.admin, //是否是管理员
        userName: resUserInfo.user.userName, //用户名
      })

错误说明:

1 resUserInfo:是接口得到的用户信息,且是非响应式数据

let resUserInfo: any = await getUserInfo({}) // 获取用户信息

2 我将resUserInfo非向应式数据赋值到了pinia中。

store.$patch({

        userRole: resUserInfo.user.roles[0].roleKey, //角色

        ...

})

所以,导至了我开头出现的pinia错误。

更改成响应式数据即可,如下

//1 创建响应式变量
let _userInfo: any = ref({})


//2 使用
let resUserInfo: any = await getUserInfo({}) // 获取用户信息
setStorage('userRole', resUserInfo.user.roles[0].roleKey) // 设置本地token

_userInfo.value = resUserInfo //暂存用户信息

//响应式存储
store.$patch({
   userRole: _userInfo.value.user.roles[0].roleKey, //角色
   userInfo: _userInfo.value.user, //用户全部信息
   isAdmin: _userInfo.value.user.admin, //是否是管理员
   userName: _userInfo.value.user.userName, //用户名
})

搞定!!!

补充:

1 网上有说降级pinia.js的版本的,如下图,但我的还是错。还是要好好看看pinia的官网的。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/743989.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv5改进(七)--改进损失函数EIoU、Alpha-IoU、SIoU、Focal-EIOU

文章目录 1、前言2、损失函数代码实现2.1、修改metrics.py2.2、修改loss.py 3、替换EIOU4、替换SIoU5、替换Alpha-IoU6、替换Focal-EIOU7、目标检测系列文章 1、前言 YOLOv5默认使用损失函数为CIoU,本文主要针对损失函数进行修改,主要将bbox_iou函数进行…

昇思25天学习打卡营第2天|onereal》

今天学习内容是了解华为昇思平台。虽然打了卡,但是我的jupyter里面并没有播放按钮,所以还是无法运行代码。反映给昇思吴彦祖小哥了,他说需要专家帮我解决。 我还是要自我表扬一下,不懂就问,切莫不懂装懂,那…

充电宝哪个牌子最好最耐用?耐用西圣、罗马仕、绿联充电宝实测

目前充电宝是我们出行必备的“能量伴侣”。然而,市面上充电宝品牌繁多,让人眼花缭乱,究竟哪个牌子最好最耐用呢?为了给大家找到答案,我们精心挑选了西圣、罗马仕和绿联这三个备受关注的品牌,并对它们的充电…

clion调试opencv程序时,查看内存中图像的方法

很久之前在windows上使用 visual studio中 Image Watch插件查看内存中图像感觉很方便,后来转到liunx上开发后,在clion上一直没有找到对应的插件。之前看到过qtOpenImageDebugger好像有类似功能,vs code好像也可以,但是没有配置。 …

文华6幅图指标公式大全-多空精准买卖点提示指标源码

文华6幅图指标公式大全-多空精准买卖点提示指标源码: HH: HHV ( HIGH ,1)/5 HHV ( HIGH ,2)/5 HHV ( HIGH ,2)/5 HHV ( HIGH ,5)/5 HHV ( HIGH ,8)/5; LL: LLV ( LOW ,1)/5 LLV ( LOW ,2)/5 LLV ( LOW ,2)/5 LLV ( LOW ,5)/5 LLV ( LOW ,8)/5; H1: IFELSE ( H &l…

18.枚举

学习知识:枚举类型、相关的使用方法 Main.java: public class Main {public static void main(String[] args) {myenum[] colorlist myenum.values();//获取枚举中所有对象的引用数组for (myenum one : colorlist){System.out.println(one.toString(…

git提交新仓库代码,提示无权限,但用户名已修改

目录 1 用户名无权限 2 删除用户凭据 2.1 打开控制面板 2.2 找到“凭据管理器” 2.3 删除git历史 3 npm工具库添加git仓库指引 1 用户名无权限 之前因为时间的原因,js-tool-big-box工具库没有提交到github上去,今天想着往上提交一下,但…

如何打造安全DNS以保障业务可用?一文解读

DNS自1987年被实施以来,已成为网络通信中最重要的核心基础设施,同时也是企业对外提供数字服务的关键。没有正常安全的DNS服务,企业经营也就无从谈起。在DNS攻击逐年上升且容易被忽略的现代应用时代,如何打造安全DNS?本…

Mybatis操作数据库(二)

动态SQL 在 MyBatis 中&#xff0c;动态 SQL 是一种强大的特性&#xff0c;它允许根据不同的条件和场景在 SQL 语句中动态地组合和构建部分语句 < if>标签 我们在注册用户的时候,可能会有一个问题注册有两个字段 必填字段和非必填字段,这时我们需要使用动态标签来判定 例…

数据库管理与数据库语句

数据库用户管理及高级sql语句 数据库管理 数据库用户管理 mysql权限表 在mysql中mysql库中的user表是最重要的权限表&#xff0c;记录允许连接到服务器的账号信息以及全局权限&#xff0c; 在mysql库中db和host表也是重要的权限表 db表中存储了用户对某个数据库的操作权限&…

CS-流量通讯特征修改-端口store证书流量通讯规则

免责声明:本文仅做技术交流与学习... 目录 1.修改默认端口&#xff1a; 2.去除store证书特征&#xff1a; 查看证书指纹&#xff1a; 生成证书指纹&#xff1a; 应用证书指纹&#xff1a; 3.去除流量通讯特征&#xff1a; 规则资源 http流量特征修改: https流量特征修改:…

Web APIs-DOM-事件相关整理(完成网页交互)

目录 1.事件监听 2.事件监听绑定 3.事件类型 4.实例注意 5.事件对象 6.环境对象 7.回调函数 1.事件监听 &#xff08;绑定事件/注册事件&#xff09;: 程序检测有没有事件产生&#xff08;事件&#xff1a;比如单机一个按钮&#xff08;编程时系统发生的动作或者事情&a…

C++ 14新特性个人总结

variable templates 变量模板。这个特性允许模板被用于定义变量&#xff0c;就像之前模板可以用于定义函数或类型一样。变量模板为模板编程带来了新的灵活性&#xff0c;特别是在定义泛化的常量和元编程时非常有用。 变量模板的基本语法 变量模板的声明遵循以下基本语法&am…

云计算基础知识

前言&#xff1a; 随着ICT技术的高速发展&#xff0c;企业架构对计算、存储、网络资源的需求更高&#xff0c;急需一种新的架构来承载业务&#xff0c;以获得持续&#xff0c;高速&#xff0c;高效的发展&#xff0c;云计算应运而生。 云计算背景 信息大爆炸时代&#xff1a…

HttpServletRequest・getContentLeng・getContentType区别

getContentLength()&#xff1a; 获取客户端发送到服务器的HTTP请求主体内容的字节数&#xff08;长度&#xff09; 如果请求没有正文内容&#xff08;如GET&#xff09;&#xff0c;或者请求头中没有包含Content-Length字段&#xff0c;则该方法返回 -1 getContentType()&am…

【昇思初学入门】第七天打卡-模型训练

训练模型 学习心得 构建数据集。这通常包括训练集、验证集&#xff08;可选&#xff09;和测试集。训练集用于训练模型&#xff0c;验证集用于调整超参数和监控过拟合&#xff0c;测试集用于评估模型的泛化能力。 &#xff08;mindspore提供数据集https://www.mindspore.cn/d…

绘制全球各大洲典型流域的时间序列图

流量世界第一、长度第二的亚马逊流域&#xff08;Amazon&#xff09;、南美洲第四大、整条河流位于巴西的圣弗朗西斯科流域&#xff08;Sao Francisco&#xff09;、世界第四长、北美洲最长的密西西比流域&#xff08;Mississippi&#xff09;、欧洲最长的伏尔加流域&#xff0…

GitLab 不小心提交了master/develop版本如何回退

1. 找寻最近的版本&#xff0c;使用git reset --hard 回退到具体的提交版本号 2. git push origin master --force 这个会遇到gitlab默认拦截&#xff0c;处理版本 版本仓库页面&#xff0c;选择Setting——Repository&#xff0c;找到Protected branches 3. 再回到master分支…

python爬虫-爬虫的基础知识储备

爬虫就是一个不断的去抓去网页的程序&#xff0c;根据我们的需要得到我们想要的结果&#xff01;但我们又要让服务器感觉是我们人在通过浏览器浏览不是程序所为&#xff01;归根到底就是我们通过程序访问网站得到html代码&#xff0c;然后分析html代码获取有效内容的过程。下面…

开源/标准版 首页 logo大小修改

这个是diy的&#xff1a; 文件地址&#xff1a;template/uni-app/pages/index/diy/components/headerSerch.vue 这个是页面设计的&#xff1a; 文件地址&#xff1a;template/uni-app/pages/index/visualization/components/headerSerch.vue 先删除这三个 然后改下图的地方