JSPM

  • Created
  • Published
  • Downloads 182591
  • Score
    100M100P100Q171952F
  • License MIT

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.