当前位置:首页 » 《随便一记》 » 正文

【Vue】- 报错 Error in render: “TypeError: Cannot read properties of undefined (reading ‘nickname‘)“

5 人参与  2023年05月04日 15:45  分类 : 《随便一记》  评论

点击全文阅读


在created()钩子函数请求接口并报错数据,渲染在dom元素是可以正常渲染,但是在开发者工具中就会报错 Error in render: "TypeError: Cannot read properties of undefined (reading 'nickname')"

 意思是 在created调用封装请求接口的函数 ,获取到的数据再给保存起来并渲染到dom元素,不过数据渲染之前 dom元素会先渲染一次到渲染获取到的数据。那么就会导致渲染获取的数据会未定义,没有这个属性/对象。

说通俗点就是三层表达式a.b.c,在对象a中没有对象b,那么读取对象a.b.c中的值,自然会报错。如果是两层表达式a.b则不会报错,返回的是undefined。

明白了原因之后上手排查代码发现果然下面vue模板代码中出现了三层表达式,十分可疑,出错的地方应该就在这里。

原因:


我们发现这里的 list 是vuex中state管理加载的数据,异步调用显示,然后vue渲染机制中:

异步数据先显示初始数据,再显示带数据的数据,

所以上来加载 list 时候还是一个空对象如下:

当渲染完成后,才加载异步数据
所以在渲染时,出现的三层表达式在list中取 list 的 user 属性是不存在,再在这个对象中取其他值自然会报错,但是渲染完成后,list中的值加载好了,自然可以取到,这也就解释了为什么界面正常显示,但开发者工具会报错的原因
 

解决方法:

使用 v-if 来进行判断

 

判断是否有list.user这个属性或等于undefined,dom渲染前没有这个属性会销毁,dom渲染之后有这个会显示。 

 


点击全文阅读


本文链接:http://zhangshiyu.com/post/60715.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 「假千金笑我嫁混混」节选隐藏剧情入口‌_林若胡桂芝小混混爆款小说高能章节试读
  • 黄泉情难渡新鲜出炉(叶北宸凤念安)_黄泉情难渡新鲜出炉(叶北宸凤念安)
  • [寒江难逢冬日雪]章节免费试读_「周寒声顾茯苓」反转剧情试读片段
  • 许她一世倾城结局+番外优质全章(林浅浅夜司寒)_许她一世倾城结局+番外优质全章林浅浅夜司寒
  • 黄泉情难渡结局+番外(叶北宸凤念安)_(叶北宸凤念安)叶北宸凤念安列表_笔趣阁(叶北宸凤念安)
  • 长离不见清瑟全书+番外(谢长离江清瑟)全书谢长离江清瑟结局_谢长离江清瑟结局列表_笔趣阁(长离不见清瑟全书+番外)
  • 露脸直播后,榜一富婆狂宠我!后续完结版_林凡江暮晚人气小说未删减节选
  • 许她一世倾城结局+番外(林浅浅夜司寒)_许她一世倾城结局+番外林浅浅夜司寒
  • 全文长离不见清瑟后续全书+结局(江清瑟谢长离)列表_全文长离不见清瑟后续全书+结局
  • 声声思念付与州全书+番外(声声思念付与州全书+番外)_声声思念付与州全书+番外(程芝裴声)列表_笔趣阁(程芝裴声)
  • 爱于燃尽新生全书+后续+结局(顾云霄孟卿月)_(顾云霄孟卿月)爱于燃尽新生全书+后续+结局列表_笔趣阁(顾云霄孟卿月)
  • 当替身去世后他为我办婚礼章节试读_「沈逸沈婉林晓」无弹窗阅读

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1