报错 | vue.runtime.esm.js?c320:4560 [Vue warn]: Error in render: “TypeError: Cannot read properties of

vue.runtime.esm.js?c320:4560 [Vue warn]: Error in render: "TypeError: Cannot read properties of undefined (reading ‘category1Id’)"
found in
—> at src/pages/Detail/index.vue
at src/App.vue

  • 原因是我在使用getters简化数据的时候忽略了当state.goodsInfo初始值为空对象,空对象的xxx属性为undefined,而我在使用该属性时,undefined的xxx就会出现警告⚠
    在这里插入图片描述

所以我们在return 后面的返回值加上 或 || {} ,因为一开始的初始值就是个空对象

// 简化数据
const getters = {
    // 获取数据的时候直接getters获取然后categoryView来获取数据
    categoryView(state){
        // 比如:state.goodsInfo初始状态为空对象,空对象的categoryView属性为undefined,读属性undefined的xxx会报错
        return state.goodsInfo.categoryView || {};
    },
};
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误是由于在渲染时尝试访问一个未定义的属性'state'引起的。根据引用[3]的内容,这个错误可能是因为你没有正确处理初始状态为空对象的情况。在你的getters函数中,你可以添加一个空对象的默认返回值来避免这个错误。通过在return语句后面添加"|| {}",即使state.goodsInfo初始值为空对象,也会返回一个空对象作为默认值。这样,就不会再出现"Cannot read property 'state' of undefined"的错误了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [报错 | vue.runtime.esm....c320:4560 [Vue warn]: Error in render: “TypeError: Cannot read properties of](https://blog.csdn.net/muziqwyk/article/details/126191223)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [【报错vue.runtime.esm.js?c320:4605 [Vue warn]: Duplicate keys detected: ‘40825‘. This may cause ...](https://blog.csdn.net/qq_40797578/article/details/128266387)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值