Reputation: 83
I'm using ViewPager by react-native-community to scroll down my page, but I'm having trouble when catching the page that the user is in, in the API there is a showPageIndicator: boolean but only for IOS, i figure we can catch the number in the IOS by this bool there is some way i can catch the number.
https://github.com/react-native-community/react-native-viewpager
<ViewPager
initialPage={0}
orientation="horizontal"
scrollEnabled
onPageSelected={changePage}
>
Upvotes: 3
Views: 5757
Reputation: 490
You can use OnPageSelected Prop to get position.
<ViewPager
initialPage={0}
orientation="horizontal"
scrollEnabled
onPageSelected={e => {console.log("Current page index", e.nativeEvent.position)}}>
Upvotes: 16
Reputation: 320
function Component(props) {
//by default the initialPosition props is 0, set as initial value of currentPage
too...
const [currentPage, setCurrentPage] = useState(0);
{... component code }
const onPageScroll = (event) => {
const {position} = event.nativeEvent;
if(position !== currentPosition) {
setCurrentPosition(position);
}
}
return (
<ViewPager onPageScroll={onPageScroll}>
... your pages
</ViewPager>
)
}
by this the props onPageScroll you will get the current page of viewpager
Upvotes: 3