TypeError: Cannot read property ‘partiSession‘ of undefined

90 阅读1分钟

问题分析

本文获取到的userScore是一个空数组,没有数据,以下对数据报错处理进行筛选。
partiSession设置了默认值,但页面能显示控制台却报错undefined

TypeError: Cannot read property ‘partiSession’ of undefined

const {
      userModel: {
        userData,
        ranking,
        userScore = [{ partiSession: 0 }]//给出默认值
      }
    } = this.props;
    const { partiSession = 0, rate = 0 } = userScore[0];
    conosle.log(partiSession); //0

经过分析检查原因是userScore获取到为空,将开始赋的默认值覆盖了,所以打印出的partiSession自然为undefined
修改一个地方即可,当数组元素不存在时直接从一个空对象中取出partiSession

const { partiSession = 0, rate = 0 } = userScore[0] || {};

问题总结

在这里插入图片描述