javascript - 解构嵌套道具得到未定义的错误
问题描述
static getDerivedStateFromProps(props) {
const {
name
} = props.users;
return { name };
}
}
使用上面的代码,我得到了一个错误
TypeError
Cannot read property 'name' of undefined
问题是什么?users
如果未定义,我认为对象解构会自动处理?
我可以在getDerivedStateFromProps
不返回任何内容的情况下使用 if 语句吗?
解决方案
“我认为如果
users
未定义对象解构会自动处理?”
不,它不会自动执行。
在props.users
似乎是的情况下undefined
,您将收到此错误
const props = {};
const { user: {name} } = props;
console.log(name);
// "Uncaught TypeError: Cannot read property 'name' of undefined",
解决方案: 用于Default value
摆脱该错误
const props = {};
const { user: {name} = {name: "default-user-name"} } = props;
console.log(name);
推荐阅读
- java - Liquibase 前置条件 MARK_RAN,回滚执行
- sql - 使用关系模型的objections.js 性能非常慢
- sql - SQL-删除具有特定时间段的行
- python - Culebra 坚持“接触点(单位=DIP)”
- javascript - regexp 获取路径名,即使您不知道其中的某些部分
- angular - 如何使用 jest js 在 Angular 中创建 SpyObj?
- python - 使用 np.einsum 将两个数组相乘和相加
- javascript - Vanillla Javascript 使用数据类型显示隐藏内容
- python-3.x - 如何检测硒初始化程序驱动程序是否无头
- python - Python 套接字客户端没有收到任何东西,由 recv.from(datasize) 挂起