当长度为0时,下面的条件将显示postItems函数的结果,但不显示NoPostsExists组件的结果。
The condition: {posts.length == null ? <NoPostsExists /> : this.postItems()}
未显示的帖子:
NoPostsExists = React.createClass({
render(){
return (
<div className="container"> No posts.. No posts.. No posts.. No posts.. No posts.
No posts.. No posts.. No posts.. No posts.. No posts.
No posts.. No posts.. No posts.. No posts.. No posts.
. </div>
)
}
});
答案 0 :(得分:1)
Array#length
是一个数字。将posts.length
与null
进行比较毫无意义。您想将其与零(0
)进行比较。
此外,我建议始终使用三等号(===
)而不是双等号(==
)进行比较。 Double equals有一些令人惊讶的边缘情况可能会让你失望。
答案 1 :(得分:0)
@David为您提供了正确的解决方案。
另一个更好的方法是不要比较!并将三元运算符重写为:
posts.length ? <NoPostsExists /> : this.postItems()
因为在布尔值中0被认为是假的,所以它可以正常工作。