2017-02-12 5 views
2

私はconstのarr = ["james","john"];Esxマップ配列htmlはJSXでは動作しませんか?

のような機能をレンダリングでのconstを持っており、リターン機能で、私は

<select> 
    arr.map(item => 
    <option>item</option> 
    ) 
</select> 

を行う私が出力に表示することはアイテムではなく、配列の値です。何か不足していますか?私はオプションとして配列の値を設定したい。

答えて

6

JSX要素内のコンテンツは通常「テキスト」と解釈されるため、arr.map(…)<select>要素のリテラルコンテンツとして処理されます。

<option>item</option>は単に<select>のリテラルの子要素として扱われるため、ブラウザーでは恐らくあなたのリストに「項目」が表示されるだけなので、あなたのブラウザーは恐らくテキストを無視します)。

あなたの代わりに、単に(のリアクトクイックスタートガイドの「Introducing JSX」ページで説明したように)中括弧でそれをラップし、それがJavaScript式として扱われたい:

<select> 
    {arr.map(item => 
    <option>{item}</option> 
)} 
</select> 
+0

は今、私は「3を得ました項目"。私はアイテムの中かっこを逃したと思う。 –

+0

@JessicaRobertsonあなたが正しいです、私はそれが今すぐ正しいはずですので更新しました。 – Frxstrem

関連する問題