react-native-card-stack-swiper
Tinder like react-native card stack swiper
Installation
npm install --save react-native-card-stack-swiper
Preview
import CardStack, { Card } from 'react-native-card-stack-swiper';
<CardStack style={styles.content} ref={swiper => { this.swiper = swiper }}>
<Card style={[styles.card, styles.card1]}><Text style={styles.label}>A</Text></Card>
<Card style={[styles.card, styles.card2]}><Text style={styles.label}>B</Text></Card>
<Card style={[styles.card, styles.card1]}><Text style={styles.label}>C</Text></Card>
</CardStack>
CardStack
CardStack props
Props |
type |
description |
required |
default |
style |
object |
container style |
|
{} |
cardContainerStyle |
object |
cardContainerStyle style |
|
{} |
secondCardZoom |
number |
second card zoom |
|
0.95 |
duration |
number |
animation duration |
|
300 |
initialIndex |
number |
initial card index |
|
0 |
loop |
bool |
keep swiping indefinitely |
|
false |
renderNoMoreCards |
func |
|
|
false |
disableTopSwipe |
bool |
disable top swipe |
|
false |
disableBottomSwipe |
bool |
disable bottom swipe |
|
false |
disableLeftSwipe |
bool |
disable left swipe |
|
false |
disableRightSwipe |
bool |
disable right swipe |
|
false |
verticalSwipe |
bool |
enable/disable vertical swiping |
|
true |
horizontalSwipe |
bool |
enable/disable horizont swiping |
|
true |
verticalThreshold |
number |
vertical swipe threshold |
|
height/4 |
horizontalThreshold |
number |
horizontal swipe threshold |
|
width/2 |
outputRotationRange |
array |
rotation values for the x values |
|
['-15deg', '0deg', '15deg'] |
CardStack events
Props |
type |
description |
onSwipeStart |
func |
function to be called when a card swipe starts |
onSwipeEnd |
func |
function to be called when a card swipe ends (card is released) |
onSwiped |
func |
function to be called when a card is swiped. it receives the swiped card index |
onSwipedLeft |
func |
function to be called when a card is swiped left. it receives the swiped card index |
onSwipedRight |
func |
function to be called when a card is swiped right. it receives the swiped card index |
onSwipedTop |
func |
function to be called when a card is swiped top. it receives the swiped card index |
onSwipedBottom |
func |
function to be called when a card is swiped bottom. it receives the swiped card index |
onSwipedAll |
async func |
function to be called when the last card is swiped. Could trig action to refresh cards |
onSwipe |
func |
function to be called when a card is swiped. It receives the current x, and y coordinates |
CardStack actions
Props |
type |
swipeLeft |
func |
swipeRight |
func |
swipeBottom |
func |
swipeTop |
func |
goBackFromLeft |
func |
goBackFromRight |
func |
goBackFromBottom |
func |
goBackFromTop |
func |
<CardStack style={styles.content} ref={swiper => { this.swiper = swiper }}>
<Card style={[styles.card, styles.card1]}><Text style={styles.label}>A</Text></Card>
<Card style={[styles.card, styles.card2]}><Text style={styles.label}>B</Text></Card>
</CardStack>
<TouchableOpacity onPress={ () => { this.swiper.swipeLeft() }}>
<Text>Left</Text>
</TouchableOpacity>
Card
Card props
Props |
type |
description |
required |
default |
style |
object |
container style |
|
{} |
Card events
Props |
type |
description |
onSwiped |
func |
function to be called when a card is swiped. |
onSwipedLeft |
func |
function to be called when a card is swiped left. |
onSwipedRight |
func |
function to be called when a card is swiped right. |
onSwipedTop |
func |
function to be called when a card is swiped top. |
onSwipedBottom |
func |
function to be called when a card is swiped bottom. |