В HTML, когда вы предоставляете один и тот же атрибут несколько раз, он будет отдавать предпочтение только первому.
В JS функция map
предоставит нам три аргумента в функции обратного вызова, item, index, array
.
При этом, пожалуйста, не используйте запутанные имена.Попробуйте изменить ваши переменные на это.
{
this.state.items.map((item, index) => (
<Car
key={`car-${index}`}
carIndex={index}
car={item} // or `data={item}`
onChange={this.onChange}
/>
))
}
key
: для уникальной идентификации каждого экземпляра Car
компонента. itemIndex
: ваше логическое использование car
: фактические данные элемента для вашего компонента.Я не люблю отдавать свои атрибуты данных корневому уровню реквизита.