【发布时间】:2025-12-31 20:45:02
【问题描述】:
想象一下我有一个这样的对象数组:
const chefs = [
{
key: 1,
images: ['http://lorempixel.com/400/400/sports/', 'http://lorempixel.com/400/400/abstract/', 'http://lorempixel.com/400/400/animals/', 'http://lorempixel.com/400/400/city/', 'http://lorempixel.com/400/400/people/']
}
]
我想使用 props 将 images 数组中的每个图像分配给一个名为 CarrouselItem 的 React 组件:
class CarrouselItem extends React.Component {
render() {
return (
<div>
<img src={this.props.imageUrl} />
</div>
)
}
}
然后将其放入名为 Carrousel 的父组件中,在该组件中循环对象并返回其中的图像,然后将其放置在 CarrouselItem 组件中:
class Carrousel extends React.Component {
render() {
return (
<div>
<h4>Slide image</h4>
{chefs.map((chef, index) => {
return <CarrouselItem imageUrl={chef.images[index]} />
})}
</div>
)
}
}
我预计会发生什么
map 函数应该遍历所有对象(在这种情况下,只是其中一个),然后创建 X 个 CarrouselItem 组件,每个组件都有一个 <img>,它取自 images 数组。
实际发生的情况
不幸的是,我只得到数组中的第一项(在本例中为'http://lorempixel.com/400/400/sports/')。
有人能解释一下我哪里出错了吗?
【问题讨论】:
标签: javascript arrays reactjs object