react-native-snap-carousel 사용하기
10112 단어 reactnative
하고 싶은 일
준비
react-native-snap-carousel 을 사용해 보겠습니다. loop이나 autoplay라든지 할 수 있어 편리해 보인다.
npm install --save react-native-snap-carousel
구현
귀찮기 때문에 App.js에 전부 써 보겠습니다.
App.js
App.js
import React from 'react';
import { StyleSheet, Text, View, Dimensions, SafeAreaView, TouchableHighlight, Image, Linking } from 'react-native';
import Carousel, { Pagination } from 'react-native-snap-carousel';
export default class App extends React.Component {
state = {
data: [
{ title: 'a', url: 'http://www.bluecode.jp/images/A.png' },
{ title: 'b', url: 'http://www.bluecode.jp/images/B.png' },
{ title: 'c', url: 'http://www.bluecode.jp/images/C.png' },
{ title: 'd', url: 'http://www.bluecode.jp/images/D.png' },
{ title: 'e', url: 'http://www.bluecode.jp/images/E.png' },
],
activeSlide: 0,
}
//カルーセルの中身
_renderItem = ({ item, index }) => {
return (
<TouchableHighlight
onPress={() => Linking.openURL(item.url)}
>
<Image source={{ url: item.url }} style={{ width: '100%', height: '100%' }} />
</TouchableHighlight>
);
}
render() {
return (
<SafeAreaView style={{ height: 240 }}>
<Carousel
data={this.state.data}
renderItem={this._renderItem}
itemWidth={Dimensions.get("window").width * 0.6}
sliderWidth={Dimensions.get("window").width * 1.0}
// containerCustomStyle={{ flex: 1, backgroundColor: "#eee" }}
onSnapToItem={index => this.setState({ activeSlide: index })} //for pagination
loop
autoplay
/>
<Pagination
dotsLength={this.state.data.length} //dotの数
activeDotIndex={this.state.activeSlide} //どのdotをactiveにするか
containerStyle={{paddingVertical:15}} //デフォルトではちと広い
/>
</SafeAreaView>
);
}
}
Reference
이 문제에 관하여(react-native-snap-carousel 사용하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/zaburo/items/ca8c0f86fd02c5040351텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)