Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
rossicler-hostalky opened this issue Jan 23, 2025 · 0 comments

Comments

@rossicler-hostalky
Copy link

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 rossicler-hostalky marked this as a duplicate of #964 Jan 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant