expo-router
Navigation and routing with Expo Router: file-based and dynamic routes, Link previews and context menus, native Stack, modals and form sheets, NativeTabs, headers, toolbars and search bars.
Install
npx skills add https://github.com/expo/skills --skill expo-routerForm Sheets in Expo Router
This skill covers implementing form sheets with footers using Expo Router's Stack navigator and react-native-screens.
Overview
Form sheets are modal presentations that appear as a card sliding up from the bottom of the screen. They're ideal for:
- Quick actions and confirmations
- Settings panels
- Login/signup flows
- Action sheets with custom content
Requirements:
- Expo Router Stack navigator
Basic Usage
Form Sheet with Footer
Configure the Stack.Screen with transparent backgrounds and sheet presentation:
Form Sheet Screen Content
Requires Expo SDK 55 or later.
Use flex: 1 to allow the content to fill available space, enabling footer positioning:
Formsheet with interactive content below
Use sheetLargestUndimmedDetentIndex (zero-indexed) to keep content behind the form sheet interactive — e.g. letting users pan a map beneath it. Setting it to 1 allows interaction at the first two detents but dims on the third.
Key Options
Common Detent Values
[0.25]- Quarter sheet (compact actions)[0.5]- Half sheet (medium content)[0.75]- Three-quarter sheet (detailed forms)[0.25, 0.5, 1]- Multiple stops (expandable sheet)
Complete Example
Troubleshooting
Content not filling sheet
Make sure the root View uses flex: 1:
Sheet background showing through
Set contentStyle: { backgroundColor: 'transparent' } in options and style your content container with the desired background color instead.