Skip to content

Native refresh interactions for React Native 0.76+

expo-smartrefreshlayout

Fabric-native pull-to-refresh and load-more behavior for Android and iOS, with predictable completion for gesture and programmatic requests.

FabricAndroidiOSExpo dev build

Native motion with predictable JavaScript state.

Promise-aware callbacks, controlled state, instance commands, and stale-request protection keep gesture and network state aligned.

01

Pull to refresh

Classic and Material headers, shared messages, colors, haptics, and completion behavior.

02

Load more

Pull-release by default or guarded automatic loading after a real upward scroll.

03

Android second-floor interaction

Android TwoLevelHeader provides a separate full-screen interaction with open and close commands.

Accept once. Finish the matching request.

  1. 01

    Gesture or command

    Native accepts a refresh or page request only while the instance is idle.

  2. 02

    JavaScript work

    The callback receives a requestId and may return a Promise or the next hasMore value.

  3. 03

    Native completion

    Uncontrolled mode closes automatically; controlled mode follows your prop state.

Add one Fabric component.

New Architecture is required. Expo projects need a development build; Expo Go is not supported.

npm install expo-smartrefreshlayout@nextRead the setup guide

Released under the MIT License.