react-carousel-slider v2.0.13
React Carousel Slider
A React component that endeavors to provide flexbility for customizing carousel/slider.
##Features :
- Custom slide is available, arrange style and element even such as
<a></a>
,<Link></Link>
. - Work well with varaible slide height and width.
- Infinite circular sliding.
- Auto sliding.
- Touch events for dragging is available on mobile device.
- Navigation buttons customizing, multiple options to locate them.
- Dots customizing, multiple options to locate them.
##Playground
Installation
Install it from npm.
npm install react-carousel-slider
As ES module:
import CarouselSlider from "react-carousel-slider"
As CommonJS module:
var CarouselSlider = require("react-carousel-slider")
The UMD build:
<script src="https://unpkg.com/react-carousel-slider/umd/react-carousel-slider.js"></script>
Demo & Examples
carr1005.github.io/react-carousel-slider/index.html
Mobile Compatible
This component would register touch events automaically where mobile device veiwport is detected, so the drag event is also available on mobile.
Usage
We could render a component with the slideItems
prop which accepts an array of objects with the specific simple sturcture and keys in default style.
import React, {Component} from 'react'
import CarouselSlider from 'react-carousel-slider';
class App extends Component {
render() {
let data = [
{
des: "1",
imgSrc: "https://i.imqur.com/yourImage.jpg"
},
{
des: "2",
imgSrc: "https://i.imqur.com/yourImage2.jpg"
}
];
return <CarouselSlider slideItems = {data} />;
}
}
Or give an array of your own regular React elements to slideCpnts
prop, this lets our slide have availability to contain a clickable link. Even cooperating with <Link>
component of React Router library for client side routing is possible.
- Try by yourself! Observe the address bar:
import React, {Component} from 'react'
import CarouselSlider from 'react-carousel-slider';
import {BrowserRouter as Router, Link } from 'react-router-dom';
class App extends Component {
render() {
let jsonData = require('./slidesExample.json');
/*
{
"items": [
{
"des": "1",
"imgSrc": "https://i.imqur.com/yourImage.jpg"
},
{
"des": "2",
"imgSrc": "https://i.imqur.com/yourImage2.jpg"
}
]
}
*/
let items = jsonData.items.map((item, index) =>
<Link to = {'/' + item.des} >
<img src = {item.imgSrc} ></img>
<p>{item.des}</p>
</Link>
);
return (<Router>
<CarouselSlider slideCpnts = {items} />
</Router>);
}
}
Allowable Props
slideItems
slideItems
- accepts an array of objects, specific structure and keys are required.
[
{
des: "1",
imgSrc: "https://i.imqur.com/yourImage.jpg"
},
{
des: "2",
imgSrc: "https://i.imqur.com/yourImage2.jpg"
}
]
slideCpnts
- accepts an array of regular React elements, the<img></img>
element and available image source are required, we have the default style for<p>
block, override it by specifying your own with using inline-styles.
let textBoxStyle = {
width: "50%",
background: "transparent",
textAlign: "right",
color: "black"
};
let items = jsonData.items.map((item, index) =>
<div>
<img src = {item.imgSrc} ></img>
<p style = {textBoxStyle} >{item.des}</p>
</div>
);
All props below are optional, default setting is applied if we don't specify ours.
manner
accEle
dotsSetting
buttonSetting
lBtnCpnt
rBtnCpnt
sliderBoxStyle
itemsStyle
textBoxStyle
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago