-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Description
Description
After upgrading from Expo SDK 51 → SDK 52 (React Native 0.76), both FlatList and SectionList no longer trigger onEndReached reliably.
In SDK 51, onEndReached fires every time the user scrolls to the bottom of the list (as expected).
In SDK 52, onEndReached only fires once (a few seconds after opening the app), and then never triggers again — even if the user scrolls to the bottom multiple times.
This regression breaks infinite scrolling / pagination in production apps, since the callback is essential to load more data.
The issue is reproducible with a minimal FlatList example and does not depend on custom components or libraries (also happens with a brand-new blank Expo app).
Steps to reproduce
Start with an existing Expo project running SDK 51 where FlatList / SectionList pagination works normally (i.e. onEndReached fires every time the bottom is reached).
Upgrade the project to Expo SDK 52 (React Native 0.76) by following the official upgrade guide:
npx expo install --fix
Run the app again on Android or iOS.
Navigate to a screen with a FlatList or SectionList that uses onEndReached for pagination.
Example:
<FlatList
data={follows}
keyExtractor={(item) => item?.username}
renderItem={({ item }) => }
contentContainerStyle={tw``}
initialNumToRender={21}
maxToRenderPerBatch={7}
windowSize={7}
onEndReached={onEndReached}
onEndReachedThreshold={0.5}
/>
20250823_052212000_iOS.MP4
Scroll down to the end of the list.
🐞 Observed Behavior
In SDK 51: onEndReached fires reliably every time the end is reached.
In SDK 52: onEndReached fires once (a few seconds after opening the app).
After that, scrolling to the bottom does not trigger it again.
Same behavior occurs with both FlatList and SectionList.
✅ Expected Behavior
onEndReached should consistently fire each time the user reaches the bottom of the list, just like in SDK 51.
A link to a Gist, an Expo Snack or a link to a repository based on this template that reproduces the bug.
https://github.com/AndrianarivoAlpha/react-native-gesture-handler-bug/blob/main/ReproducerApp/App.js
Gesture Handler version
~2.20.2
React Native version
0.76.9
Platforms
iOS
JavaScript runtime
Hermes
Workflow
Using Expo Prebuild or an Expo development build
Architecture
New Architecture (Fabric)
Build type
Release mode
Device
Real device
Device model
All dvices
Acknowledgements
Yes