我正在使用 ReactJS 访问 API。当 React Component 访问 API 提供的对象中可能“未定义”的属性时,阻止 React Component 崩溃的最佳方法是什么?
一个错误的例子是:
类型错误:无法读取未定义的属性“项目”
原文由 Nathan Horrigan 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在使用 ReactJS 访问 API。当 React Component 访问 API 提供的对象中可能“未定义”的属性时,阻止 React Component 崩溃的最佳方法是什么?
一个错误的例子是:
类型错误:无法读取未定义的属性“项目”
原文由 Nathan Horrigan 发布,翻译遵循 CC BY-SA 4.0 许可协议
if(typeof x !=='undefined' && typeof x.item !=='undefined'){
}
render(){
return(
<div>
(typeof x !=='undefined' && typeof x.item !=='undefined')?
<div>success</div>:
<div>fail</div>
</div>
)
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
原文由 Rajat Gupta 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
看起来您正在尝试访问变量的属性
items
x
。如果
x
是undefined
,那么调用x.items
会给你你提到的错误。做一个简单的:
或者
编辑:
您现在可以使用 Optional Chaining ,它看起来不错: