【发布时间】:2020-07-27 10:25:09
【问题描述】:
我想为数组中的每个产品名称呈现一个 div 块。我从包含产品名称和成本的 api 获取产品列表。如果我尝试列出元素,但我想将这些产品放在我创建的预先存在的 div 块中,则以下代码有效。
function Basket() {
const[prods, setProds] = useState([])
function refreshList(){
fetch("http://localhost:60036/api/Product")
.then(response=>response.json())
.then(data => {
console.log(data)
setProds(data);
})
}
useEffect(() => {
refreshList()
}, []);
return (
<>
<div>
<ul>
{
prods.map(prod => <li> {prod.ProductName}</li>)
}
</ul>
</div>
</>
)
}
export default Basket;
上面的效果很好,可以打印产品名称和 ID。但是,我希望为从以下 div 块中的调用返回的列表中的每个产品名称创建一个 basket-product,我想在返回中插入该 div 块。我现在有一些静态产品名称。
<div className="basket">
<div className="basket-product">
<div className="item">
<div className="product-image">
<img src="http://placehold.it/120x166" alt="Placholder Image 2" className="product-frame" />
</div>
<div className="product-details">
<h1>
<strong><span className="item-quantity">4</span> x Eliza J</strong> Lace Sleeve Cuff Dress
</h1>
<p><strong>Navy, Size 18</strong></p>
<p>Product Code - 232321939</p>
</div>
</div>
<div className="price">26.00</div>
<div className="quantity">
<input type="number" defaultValue="{4}" min="{1}" className="quantity-field" />
</div>
<div className="subtotal">104.00</div>
<div className="remove">
<button>Remove</button>
</div>
</div>
</div>
【问题讨论】: