如何检查道具项目是否未定义



我正在从一个api中检索信息。在提要页面上,如果redux道具为空。。。我想让它支撑一个";错误";消息如果没有继续。

然而,我一直得到×TypeError:无法读取未定义的属性"length">

props.posts.length === undefined

使用上面的方法来检查其未定义是否不会阻止它遇到错误。显然,从api中检索数据需要一段时间数组长度:0,0,100。这就是为什么我认为我得到了错误。但是我该如何告诉它只检查

您只需检查是否定义了props.posts(或truthy(:

if(!props.posts){
// props.posts is falsy here, which won't be the case when it's an array
}

其他选项包括:

可选的链接有助于执行此检查。它有很好的浏览器支持,默认情况下create-react应用程序支持它。

props.posts?.length === undefined

逻辑运算符短路:即如果props.posts是假的,那么!props.posts是真的,并且它永远不会到达||运算符的右侧。

!props.posts || props.posts.length === undefined

相关内容

  • 没有找到相关文章

最新更新