expo-router

Explain Expo Router navigation patterns for React Native apps.

Updated Oct 21, 2025
One-click install
npx skills add https://github.com/jchaselubitz/drill-app --skill expo-router-jchaselubitz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: expo-router
Source: https://github.com/jchaselubitz/drill-app/tree/main/.claude/skills/expo-router
Command: npx skills add https://github.com/jchaselubitz/drill-app --skill expo-router-jchaselubitz

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Patterns for Expo Router help developers implement scalable navigation in React Native apps, reducing boilerplate and navigation bugs.

Core Features & Use Cases

  • File-based routing: auto-discovers routes from the app directory
  • Stack and layout configuration: centralizes screenOptions while preserving per-screen overrides
  • Native tabs integration: platform-native tab experience with minimal setup
  • Use Case: Quickly scaffold a multi-section app with consistent navigation patterns

Quick Start

Configure a root layout with a Stack and rely on the file structure to auto-discover routes.

Frequently Asked Questions about expo-router

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure file-based routing in a React Native app?

Expo Router uses file-based routing to auto-discover routes from the app directory. You configure a root layout with a Stack to centralize screenOptions and scaffold scalable navigation with minimal setup.

What is the best way to structure Expo Router layouts for multiple sections?

Using route groups and layout files like app/_layout.tsx and app/(tabs)/_layout.tsx structures multi-section apps. This approach centralizes screenOptions while preserving per-screen overrides.

Can I use native tabs with Expo Router in React Native?

Yes, Expo Router supports native tabs integration to provide a platform-native tab experience. You configure this with minimal setup using the app/(tabs)/_layout.tsx file convention.

How do I override Stack screen options for individual routes in Expo Router?

You override Stack screen options per route while keeping centralized defaults in the layout file. This preserves per-screen overrides without losing the consistent navigation patterns of the root layout.

Do I need specific app directory conventions to set up Expo Router navigation?

Yes, Expo Router requires using app structure conventions like app/_layout.tsx for root layouts. These minimal configuration conventions auto-discover routes and reduce boilerplate navigation bugs.