Package Exports
- react-multi-carousel
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-multi-carousel) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
react-multi-carousel
React carousel component supports multiple items and SSR with typescript.
NPM
NPM.
Install
$ npm install react-multi-carousel --save
How the SSR mode works?
The current most common solution is to detect the device type of the user based on the user agent. (server-side or client-side).
The end result will either be "mobile", "tablet" or "desktop", so based on these device types, we decided how many items we are showing in the Carousel.
Codes for SSR are at here.
Demo for the SSR are at here
Demo.
Demo and documentation can be found at here.
Codes are at here.
Examples
const responsive = {
desktop: {
breakpoint: { max: 3000, min: 1024 },
items: 3
},
tablet: {
breakpoint: { max: 1024, min: 464 },
items: 2
},
mobile: {
breakpoint: { max: 464, min: 0 },
items: 1
}
};
<Carousel
disableSwipeOnMobile
disableDrag
responsive={responsive}
forSSR
slidesToSlide={2}
infinite={true}
className='test'
removeArrowOnDeviceType={['tablet', 'mobile']}
deviceType={this.props.deviceType}
>
{fakerData.map(card => {
return <Card {...card} />;
})}
</Carousel>
General Props
responsive: responsiveType;
deviceType?: string;
forSSR?: boolean;
slidesToSlide?: number; // number of slides on each slide.
disableDrag?: boolean; // for desktop
removeArrow?: boolean;
disableSwipeOnMobile?: boolean;
removeArrowOnDeviceType?: string | Array<string>;
children: React.ReactNode | null;
customLeftArrow?: React.ReactElement<any> | null;
customRightArrow?: React.ReactElement<any> | null;
infinite?: boolean;
contentClassName?: string;
itemClassName?:string;
containerClassName?: string;
transition?:string;
Specific Props
Name | Type | Default | Description |
---|---|---|---|
responsive |
Object |
{} |
How many items to show on each breakpoint. |
deviceType |
string |
none |
Only pass this when use for server-side rendering, what to pass can be found in the example folder. |
forSSR |
bool |
false |
For SSR |
slidesToSlide |
number |
1 |
How many slides to slide. |