@computeruniverse/react-carousel
v1.1.1
Published
[](https://github.com/computeruniverse-oss/react-carousel/commits/main) [ => {
const [activeSlide, setActiveSlide] = useState(0);
const items = [];
for (let i = 0; i < 5; i++) {
items.push(i);
}
return (
<>
<ReactCarousel
isStatic={true}
slidesToShow={4}
activeSlide={activeSlide}
itemCount={items.length}
autoplayInterval={5000}
movementTension={50}
movementFriction={20}
onChange={(activeIndex) => {
console.log('activeIndex', activeIndex);
setActiveSlide(activeIndex);
}}
itemFactory={(index, preloading) => {
return (
<div
key={index}
style={{
height: '200px',
fontSize: '60px',
backgroundColor: (index + 1) % 2 === 0 ? 'green' : 'yellow',
}}
>
{index}
</div>
);
}}
/>
<button onClick={() => setActiveSlide(activeSlide - 1)}>Prev</button>
<button onClick={() => setActiveSlide(activeSlide + 1)}>Next</button>
</>
);
};
export default MyCarousel;Props
| Name | Type | Default | Description |
|-----------------|-------------------------------------------------------------------------------------|-----------|----|
| itemFactory |(index: number, preloading: boolean) => React.ReactElement(required)|undefined| Is called at the creation of the carousel and basically returns an array of slides to show. Important the return value is cached |
| isStatic |boolean(required) |undefined||
| itemCount |number(required) |undefined| Count of how many Slides are in the carousel |
| activeSlide |number(required) |undefined | Index of the currently active slide, if the value is changed the carousel slides to this index |
| slidesToShow |number |1 | Value of how many slides the carousel shows at the same time |
| defaultSlide |number |0 | Position of the default slide, you're probably don't need this value |
| onChange |(activeIndex: number) => void |undefined| Triggers every time the carousel moves |
| autoplayInterval|number (ms) |undefined| Sets the interval time for the carousel in milliseconds |
| movementTension |number |50 ||
| movementFriction|number |20 ||
| slideCssClasses |{ default: string, active: string } |undefined`| Sets a default and/or active class to the slides so that you can style your slides in an easier way |
