react-native-slideshow
Version:
A quick and easy slideshow for react native.
130 lines (110 loc) • 3.25 kB
Markdown
A quick and easy slideshow for react native. (Android & iOS)
 
```bash
npm install react-native-slideshow --save
```
```javascript
import Slideshow from 'react-native-slideshow';
// ...
render() {
return (
<Slideshow
dataSource={[
{ url:'http://placeimg.com/640/480/any' },
{ url:'http://placeimg.com/640/480/any' },
{ url:'http://placeimg.com/640/480/any' }
]}/>
);
}
```
```javascript
export default class SlideshowTest extends Component {
constructor(props) {
super(props);
this.state = {
position: 1,
interval: null,
dataSource: [
{
title: 'Title 1',
caption: 'Caption 1',
url: 'http://placeimg.com/640/480/any',
}, {
title: 'Title 2',
caption: 'Caption 2',
url: 'http://placeimg.com/640/480/any',
}, {
title: 'Title 3',
caption: 'Caption 3',
url: 'http://placeimg.com/640/480/any',
},
],
};
}
componentWillMount() {
this.setState({
interval: setInterval(() => {
this.setState({
position: this.state.position === this.state.dataSource.length ? 0 : this.state.position + 1
});
}, 2000)
});
}
componentWillUnmount() {
clearInterval(this.state.interval);
}
render() {
return (
<Slideshow
dataSource={this.state.dataSource}
position={this.state.position}
onPositionChanged={position => this.setState({ position })} />
);
}
}
```
| Property | Type | isRequired? | Default | Description |
| --- | :---: | :---: | :---: | --- |
| `dataSource` | bool | required | - | slideshow data |
| `height` | number | optional | 200 | container height |
| `position` | number | optional | - | set position slideshow |
| `scrollEnabled` | bool | optional | true | enable / disable scrolling |
| `overlay` | bool | optional | false | background overlay |
| `indicatorSize` | number | optional | 16 | indicator size |
| `indicatorColor` | string | optional |
| `indicatorSelectedColor` | string | optional |
| `arrowSize` | number | optional | 16 | arrow size |
| `arrowLeft` | object | optional | - | component arrow left |
| `arrowRight` | object | optional | - | component arrow right |
| `onPress` | func | optional | - | returns an object image and index of image pressed|
| `onPositionChanged` | func | optional | - | called when the current position is changed |
| `containerStyle` | object | optional | - | custom styles for container |
```javascript
// example data structure
dataSource: [
{
title: 'title 1',
caption: 'caption 1',
url: 'url 1',
}, {
title: 'title 1',
caption: 'caption 1',
url: 'url 2',
},
]
```
| Property | Type | Description |
| --- | :---: | --- |
| `title` | string | title |
| `caption` | string | caption |
| `url` | string / number | image (URL or a local file resource) |
[](https://github.com/PaulBGD/react-native-image-slider)
MIT