Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
React Slick | 11,036 | 9,197 | 1,235 | a day ago | 115 | April 17, 2022 | 454 | mit | JavaScript | |
React carousel component | ||||||||||
Keen Slider | 3,961 | 35 | a month ago | 100 | September 19, 2022 | 53 | mit | TypeScript | ||
The HTML touch slider carousel with the most native feeling you will get. | ||||||||||
Splide | 3,821 | 32 | a month ago | 148 | September 21, 2022 | 44 | mit | TypeScript | ||
Splide is a lightweight, flexible and accessible slider/carousel written in TypeScript. No dependencies, no Lighthouse errors. | ||||||||||
React Image Gallery | 3,410 | 517 | 92 | 6 days ago | 110 | July 30, 2022 | 14 | mit | JavaScript | |
React carousel image gallery component with thumbnail support 🖼 | ||||||||||
Embla Carousel | 3,268 | 3 | 16 | 3 days ago | 184 | September 12, 2022 | 10 | mit | TypeScript | |
www.embla-carousel.com — A lightweight carousel library with fluid motion and great swipe precision. | ||||||||||
Nuka Carousel | 2,886 | 491 | 133 | 12 days ago | 131 | September 22, 2022 | 27 | other | TypeScript | |
Small, fast, and accessibility-first React carousel library with an easily customizable UI and behavior to fit your brand and site. | ||||||||||
React Awesome Slider | 2,601 | 42 | 13 | 6 months ago | 45 | February 21, 2020 | 76 | mit | JavaScript | |
React content transition slider. Awesome Slider is a 60fps, light weight, performant component that renders an animated set of production ready UI general purpose sliders with fullpage transition support for NextJS and GatsbyJS. 🖥️ 📱 | ||||||||||
React Responsive Carousel | 2,433 | 794 | 137 | 23 days ago | 122 | March 03, 2022 | 29 | mit | TypeScript | |
React.js Responsive Carousel (with Swipe) | ||||||||||
Egjs Flicking | 2,360 | 3 | 14 | 4 days ago | 107 | September 15, 2022 | 40 | mit | TypeScript | |
🎠 ♻️ Everyday 30 million people experience. It's reliable, flexible and extendable carousel. | ||||||||||
React Images | 2,288 | 1,129 | 180 | 2 years ago | 77 | April 29, 2021 | 49 | mit | JavaScript | |
🌄 A mobile-friendly, highly customizable, carousel component for displaying media in ReactJS |
Don't use this in a new project. This package hasn't been properly maintained in a long time and there are much better options available.
Instead, try...
A mobile-friendly, highly customizable, carousel component for displaying media in ReactJS.
Should work in every major browser... maybe even IE10 and IE11?
Start by installing react-images
npm install react-images
or
yarn add react-images
If you were using 0.x
versions: library was significantly rewritten for 1.x
version and contains several breaking changes.
The best way to upgrade is to read the docs and follow the examples.
Please note that the default footer parses HTML automatically (such as <b>I'm bold!</b>
) but it does not implement any form of XSS or sanitisation. You should do that yourself before passing it into the caption field of react-images.
Import the carousel from react-images
at the top of a
component and then use it in the render function.
import React from 'react'
import Carousel from 'react-images'
const images = [{ source: 'path/to/image-1.jpg' }, { source: 'path/to/image-2.jpg' }]
class Component extends React.Component {
render() {
return <Carousel views={images} />
}
}
Import the modal and optionally the modal gateway from
react-images
at the top of a component and then use it in
the render function.
The ModalGateway
will insert the modal just before the
end of your <body />
tag.
import React from 'react'
import Carousel, { Modal, ModalGateway } from 'react-images'
const images = [{ source: 'path/to/image-1.jpg' }, { source: 'path/to/image-2.jpg' }]
class Component extends React.Component {
state = { modalIsOpen: false }
toggleModal = () => {
this.setState(state => ({ modalIsOpen: !state.modalIsOpen }))
}
render() {
const { modalIsOpen } = this.state
return (
<ModalGateway>
{modalIsOpen ? (
<Modal onClose={this.toggleModal}>
<Carousel views={images} />
</Modal>
) : null}
</ModalGateway>
)
}
}
The simplest way to define a list of images for the carousel looks like:
const images = [{ source: 'path/to/image-1.jpg' }, { source: 'path/to/image-2.jpg' }]
However, react-images supports several other properties on each image object than just source
. For example:
const image = {
caption: "An image caption as a string, React Node, or a rendered HTML string",
alt: "A plain string to serve as the image's alt tag",
source: {
download: "A URL to serve a perfect quality image download from",
fullscreen: "A URL to load a very high quality image from",
regular: "A URL to load a high quality image from",
thumbnail: "A URL to load a low quality image from"
};
}
All these fields are optional except source
. Additionally, if using an object of URLs (rather than a plain string URL) as your source
, you must specify the regular
quality URL.