[Vue warn]: Error in render: “TypeError: Cannot read property ‘name‘ of undefined“,报错,已解决。
含义:
渲染时发生错误:类型错误:不能读取undefined的name属性
原因:
出现上述报错其实是因为,你访问了undefined.name,但是 undefined 没有 name,所以报错。
原因有两种,
1,你的数据是异步加载,页面渲染的时候,还没有加载成功
2,数据是本地数据,压根没有name数据、
解决方案:
无论是哪一种方案都是因为访问的对象不存在
办法一:ES6可选链操作符号
const adventurer = {
name: 'Alice',
cat: {
name: 'Dinah'
}
};
const dogName = adventurer.dog?.name;
console.log(dogName);
// expected output: undefined
办法二:
const adventurer = {
name: 'Alice',
cat: {
name: 'Dinah'
}
};
const dagName = adventurer.dog && adventurer.dog.name
console.log(dogName);
// expected output: undefined
个人参考的第一种方案,亲测好用。