react-native-x-carousel
a cross-platform (
iOS
,Android
,Web
) react native carousel component
Preview
react-native-x-carousel
is a React Native component for building a cross-platform carousel.
Highlighted Features:
- Cross Platform - uniform behaviors among
iOS
,Android
andWeb
- Loop Cycle - support head-to-tail / tail-to-head loop cycle
- Auto Play - auto play with smooth transition
- Fully Customizable - customizable carousel content & pagination
Install
$ npm install react-native-x-carousel --save
Usage
a minimally-configured carousel
;;; const DATA = text: '#1' text: '#2' text: '#3' ; const App = { const renderItem = <View key=datatext style=stylesitem> <Text>datatext</Text> </View> ; return <View style=stylescontainer> <Carousel pagination=Pagination renderItem=renderItem data=DATA /> </View> ;}; const styles = StyleSheet; ;
Props
Basic Props
Prop | Type | Default | Description |
---|---|---|---|
data |
any[] | [] |
the item data |
renderItem |
(data: any[], index: number) => void | () => {} | function for rendering each item |
loop |
boolean | false |
determine whether the loop mode is enabled or not |
autoplay |
boolean | false |
determine whether the auto play mode is enabled or not |
autoplayInterval |
number | 2000 |
delay between item transitions in milliseconds |
pagination |
() => JSX.Element | { render: () => JSX.Element } | null |
the pagination component |
Callback Props
Prop | Callback Params | Description |
---|---|---|
onPage |
{ prev: number, current: number } |
called when page number changes |
Pagination
Default
2 pagination components are provided as default
;// ...const App = <Carousel // ... pagination=PaginationLight />;
Customize
Your customized pagination component will have access to the following props
Prop | Type | Default | Description |
---|---|---|---|
total |
number | 0 |
the total number of pages |
currentPage |
number | 1 |
the current page number |
Dev
The
demo
folder contains a standalone Expo project, which can be used for dev purpose.
react-native - 0.61
react-native-web - 0.11.7
react - 16.9
-
Start Expo
$ npm install$ npm start -
Run on
simulator
- type the following command in the
Terminal
after the project is booted up w
forweb
developementa
forandroid
simulatori
foriOS
simulator
- type the following command in the
-
Run on
device
-
require the installation of corresponding
iOS client
orandroid client
on the device -
scan the QR code from
Terminal
using the device
-
-
More on
Expo Guide
Related
- scaffolded by react-native-component-cli
License
MIT