2016-03-01 70 views
1

的條件下面將顯示postItems函數的結果,但不是NoPostsExists元器件時的長度爲0。組件未顯示,不知道爲什麼

The condition: {posts.length == null ? <NoPostsExists /> : this.postItems()} 

原位缺口顯示POST:

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> 
) 
} 
}); 

回答

1

Array#length是一個數字。比較posts.lengthnull是沒有意義的。你想比較它爲零(0)。

此外,我建議您始終使用triple equals(===),而不是double equals(==)進行比較。雙等於有一些令人驚訝的邊緣情況,可以讓你起牀。

+0

那就是它! ..不知道我是如何錯過的。謝謝大衛。 –

0

@David給了你正確的解決方案。

另一種更好的方法是不要比較!並重寫三元運算符爲:

posts.length ? <NoPostsExists /> : this.postItems() 

因爲0在布爾值中被視爲false,所以它會工作得很好。

+0

知道的好東西! cheeers –

相關問題