问题分析
本文获取到的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] || {};