Я пытаюсь создать многоразовую карусель, используя реактив-бутстрап, я мог бы создать ее "
const ReusableCarousel = (props) => {
return (
<Carousel className="mt-4 border">
{props.items.map((item, index) => {
return (
<Carousel.Item key={index}>
<Row>
{props.children}
</Row>
</Carousel.Item>
);
})}
</Carousel>
);
}
Теперь, как вы видите, она может использоваться повторно до точки карусельного элемента, props.children
можетпредставлять несколько элементов на один слайд или один элемент на слайд, но я не могу добиться этого в соответствии с моей логикой
в родительском:
<ReusableCarousel items={categories}> //categories is an array of arrays of objects
{
//item prop should be passed here to carouselItemCategories component
//but i couldn't find a way to achieve that
<CarouselItemCategories key={i} />
}
</ReusableCarousel>
Компонент carouselItemCategories:
const CarouselItemCategories = (props) => {
//still in my dreams
const { item } = props;
return (
<>
{
item.map((c, index) => {
return (
<Col key={index}>
//a category card here
</Col>
);
})
}
</>
);
}
Теперь я знаю, что заставляет его работать, речь идет о передаче объекта prop (который представляет массив объектов, представляющих часть моих категорий), но я не смог найти способдостигните этого
вы можете представить себе такие категории:
const categories = [
[
{
title: 'Laptops',
background: 'red'
},
{
title: 'Tablets',
background: 'blue';
}
],
[
{
title: 'Mouses',
background: 'yellow'
},
{
title: 'Printers',
background: 'orange';
}
]
]