2016-05-19 4 views
1

jsx es6がif文を反応させるように見えません。ES6条件付きif配列が空であるかどうかを確認するステートメント

const otherVariables = doesntMatter;  

return (
... 
    <div> 
    {if (props.student.length == null && props.teacher.length == null) => (
     <p>empty</p> 
    ) : (
     <p>not empty</p> 
    )} 
    </div> 
... 
) 

両方の配列が空であるかどうかを確認するにはどうすればよいですか?

+0

のようなものは、それだけで '行うことは簡単ではないでしょう行うことができれば(props.student.length <= 0 && props.teacher.length <= 0){}他{} ' – adeneo

+0

配列の長さは厳密に非負であるため、' if(props.student.length + props.teacher.length == 0) ' –

+0

確かに、これを返すようにしています反応のHTMLとインラインで – Modelesq

答えて

3
const elementToRender = props.student.length && props.teacher.length ? <p>not empty</p> : <p>empty</p> 

そして、ちょうど行い、その後JSXに:

<div> 
    { elementToRender } 
</div> 
5

を構文エラーがあり、あなたはラムダ式をテストしています。

あなたは

return !!props.student.length && !!props.teacher.length ? <p>not empty</p> : <p>empty</p>; 
+0

私の投稿を編集しました。それはそこで他のものとしてtheresのようにリターン()内で動作しません。それはhtmlとインラインである必要があります...私は構文が分かりません:\ – Modelesq

+0

単に 'props.student.length && props.teacher.length'の代わりに' !! '強制を使うのはなぜですか? – Aaron

+0

これは私にとってどちらかの方法で「空」を返します。 – Modelesq

関連する問題