ali*_*gan 1 javascript destructuring ecmascript-6 reactjs
static getDerivedStateFromProps(props) {
const {
name
} = props.users;
return { name };
}
}
Run Code Online (Sandbox Code Playgroud)
使用上面的代码,我得到了一个错误
TypeError
Cannot read property 'name' of undefined
Run Code Online (Sandbox Code Playgroud)
有什么问题吗?我认为如果users未定义,对象解构会自动处理?
我可以在getDerivedStateFromProps不返回任何内容的情况下使用 if 语句吗?
“我认为如果
users未定义,对象解构会自动处理?”
不,它不会自动执行。
props.users在似乎是的情况下undefined,您将收到此错误
const props = {};
const { user: {name} } = props;
console.log(name);
// "Uncaught TypeError: Cannot read property 'name' of undefined",Run Code Online (Sandbox Code Playgroud)
解决方案: 使用Default value来消除该错误
const props = {};
const { user: {name} = {name: "default-user-name"} } = props;
console.log(name);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
732 次 |
| 最近记录: |