Mobile development

Stage 2 · Lesson 7 of 10

FlatList for long lists

React and React Native components

A ScrollView draws all its children at once. That is fine for a form and slow for a feed. draws only the items near the screen and reuses as you scroll.

It takes data, a renderItem function and a keyExtractor that returns a stable id for each item. Use SectionList for grouped data. Keep renderItem cheap and memoise the row component, so it only redraws when its data changes.

Add onEndReached to load more pages, and refreshing plus onRefresh for pull to refresh. For heavy lists, Shopify's is a popular drop-in with better recycling. For images, expo-image adds caching and placeholders.

Common trapmapping a large array inside a ScrollView.

A question to check yourself, an AI practice session and 1 cheat sheet entry come with the full roadmap. Unlock

Resources for this stage

Start with· follow one of these

  • GuideFree
    Expo Documentation

    Expo

    The Expo tutorial builds a small app you run on your own phone

  • GuideFree
    React Documentation

    Meta

    "Describing the UI" and "Adding interactivity" cover the React you need

Practise

  • Use a free challenge's mobile design image as the spec for a native screen

Keep handy

Mark this stage as not done?