私は現在、各オブジェクトのリスト要素を返すレンダリングメソッドの製品の配列を使ってマッピングしています。利用可能な製品の数量のhtml selectタグを作成します。私はこれを行うと思います唯一の方法は、すべての数量のオプションをループすることですが、これは、マップ関数内で使用するときに構文エラーをスローするようです。Reactのマップ関数をどのようにループすることができますか?
私はこれに関する質問は見つからないようですが、マップ関数内のループ全体がすでにjsxを返しています。
render() {
const products = this.props.products.map((product, id) =>
<li key={id} className='products-list-container' >
<div className='product-inner-div-wrapper'>
<div className='product-title-container'>
<p>{product.name}</p>
</div>
<div className='product-price-container'>
<p>{product.price.formatted_with_code}</p>
</div>
// THIS IS WHERE I TRY TO LOOP AND CREATE AN OPTION
// FOR EVERY QUANTITY
<select>
{
for (var i = 0; i < products.quantity; i++) {
return <option value={i}>{i}</option>
}
}
</select>
<div className='product-add-item-container'>
{ product.is.sold_out ? <p>SOLD OUT</p> :
<p onClick={() => this.addItem(product.id)}>add to cart</p>
}
</div>
<div className='products-image-container'>
<img src={product.media.source} />
</div>
</div>
</li>
);
return(
<div className='products-list-container'>
<ul className='products-list-ul'>
{products}
</ul>
</div>
)
}
[loop inside React JSX](https://stackoverflow.com/questions/22876978/loop-inside-react-jsx)の可能な複製 –
products.quantityを使用して別のマップを作成し、その内部にvarを使用することができます地図。 –
@MayankShuklaどのように表示されませんか?私のコードは、戻り値の外にあるマップ関数を示しています。これはすでにjsx要素を返しています。では、マップ関数の内部にあるjsx要素の内部をどのようにループするのですか?中括弧は、私はこのproducts.quantity((量、ID)=>を試み、このシナリオ –