react-native-pager-view icon indicating copy to clipboard operation
react-native-pager-view copied to clipboard

(iOS) Dynamic pages causes page switch when adding pages at the start

Open rossicler-hostalky opened this issue 11 months ago • 1 comments

Environment

Expo v52 React Native 0.76.6 Expo Router v4 iPhone 16 Pro Simulator

Description

Summary

I'm using this pager view to show images (similar to iOS photos app), and since there's a lot of images to be loaded, it's images are loaded as requested, similar to FlatList onStartReached and onEndReached.

Current behaviour

Adding pages to the end of the data array works very well, but when adding to the start, the current page changes to the new page added based on the page index it was before.

Expected behaviour

I can see this might be an intended behaviour based on what is being built, but having at least a prop like preservePage to update the current page while preserving the page in view (maybe based on page key or id) would be perfect for dynamically loading pages.

I also tested on Android, and it works as expect most of the times, maintaining the correct current page view. Some times it does not update the activePage correctly, but the current page view stay as is.

Findings

On version 6.5.1 of this library, the current page view is preserved as expected, and after digging deeper, I found out that #923 (introduced on 6.6.0) is the "culprit" for the issue. Although this makes the current page view still visible, the actual activePage is not updated accordingly, which also impacts on the position given by onPageScroll. It only correctly updates the activePage when completing a swipe to the left/right, then onPageSelected is called with the correct position.

rossicler-hostalky avatar Jan 23 '25 21:01 rossicler-hostalky

I have the same problem.. Unfortunately when I add pages before and after and then try to move to the previous page it keeps scrolling without stopping and keeps updating the range of pages required until it reaches the beginning. The same thing happens when I want to advance to the next page it keeps scrolling without stopping until it reaches the end.

The problem is only on the IOS system, but Android works fine.

NaseemYE avatar Feb 12 '25 13:02 NaseemYE