vue warn Error in render: “TypeError: Cannot read properties of undefined (reading ‘0‘)“

我遇到这个问题是vuex报错
在这里插入图片描述

原因

state里面没有初始化数组

解决办法

state

const state = {
  // 设定初始值 初始值要根据接口返回的数据进行计算
  groupMenuitems: [],
  detailtype: [],
  //加上原始状态参数
  detail:[]
  // menuitemsGroup:[]
};

解释

原因是vuex没有进行数据代理
mutations

  Getdetail: (state, detail) => {
    state.detail = detail;
    console.log("state")
    console.log(state)
    console.log("state.detail")
    console.log(state.detail)
  },

state

const state = {
  // 设定初始值 初始值要根据接口返回的数据进行计算
  groupMenuitems: [],
  detailtype: [],
  // detail:[]
  // menuitemsGroup:[]
};

vuex里面还有能看见
在这里插入图片描述但是home组件完全看不见了

  computed: {
    ...mapState({
      detail: (state) => {
        console.log("state.home.detail");
        console.log(state.home.detail);
        return state.home.detail;
      },
    }),
  },

在这里插入图片描述

这个主要是因为state里面没有放原始数组 导致它没有动态的代理 虽然有这个属性 但是在组件里面是读不到的 console.log打印对象的时候又能打印出来store里面是有这个属性 但是没有进行数据代理 没有办法进行响应式更新

state作为构造器选项,定义了所有我们需要的基本状态参数。

看到博客的一句话,感觉还是蛮有道理的,没有写参数,直接用actions、mutation往上加静态的属性,可能不算是基本状态参数,所以组件读不了

根据引用,这个报错消息是由于在Vue的渲染过程中发生了错误,具体是TypeError: Cannot read properties of undefined (reading 'length')。根据引用,这个错误可能与一个名为'ipconfig'的属性有关。根据引用,可以尝试在使用'length'属性之前先判断其是否为undefined,以避免报错。具体可以使用条件判断语句来判断totalCourseHours是否为undefined,并且再判断monthCourseHours.length是否大于0,如果满足条件,则使用monthCourseHours.after_change属性,否则使用0。这样可以避免报错并正常渲染。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [[Vue warn]: Error in render:TypeError: Cannot read properties of undefined (reading ‘length‘)](https://blog.csdn.net/qq_44402184/article/details/130837583)[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_1"}}] [.reference_item style="max-width: 50%"] - *2* [修复[vue warn]: Error in render:TypeError: Cannot read properties of undefined (reading ‘storage...](https://blog.csdn.net/qq_55856928/article/details/130478204)[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_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值