问题描述
我在react js中的carousel下方,当我单独定义所有3个Carousel.Item时,可以按预期工作,但在循环内部却无法正常工作。
<Carousel activeIndex={index} onSelect={handleSelect} className="carousel">
{carouselItems.map((item,index) => {
console.log('item ' + JSON.stringify(item));
<Carousel.Item key={index}>
<img
className="d-block w-100"
src="/images/moon.jpg"
alt={item.heading}
/>
<Carousel.Caption>
<h3>{item.heading}</h3>
<p>{item.brief}</p>
</Carousel.Caption>
</Carousel.Item>
})}
</Carousel>
在控制台日志中,我可以看到预期的数据,但是仍然没有任何显示,有人可以建议我是否丢失了某些东西。
解决方法
要使其正常工作,您需要return
中的map
:
<Carousel
activeIndex={index}
onSelect={handleSelect}
className="carousel"
>
{carouselItems.map((item,index) => {
console.log("item " + JSON.stringify(item));
// you forgot to return the Carousel.Item here:
return (
<Carousel.Item key={index}>
<img
className="d-block w-100"
src="/images/moon.jpg"
alt={item.heading}
/>
<Carousel.Caption>
<h3>{item.heading}</h3>
<p>{item.brief}</p>
</Carousel.Caption>
</Carousel.Item>
);
})}
</Carousel>