--- name: react-native-navigation user-invocable: false description: Use when implementing navigation in React Native apps with React Navigation. Covers stack, tab, drawer navigation, deep linking, and navigation patterns. allowed-tools: - Read - Write - Edit - Bash - Grep - Glob --- # React Native Navigation Use this skill when implementing navigation in React Native applications using React Navigation (the de facto standard navigation library). ## Key Concepts ### Installation ```bash npm install @react-navigation/native npm install react-native-screens react-native-safe-area-context # For stack navigation npm install @react-navigation/native-stack # For tab navigation npm install @react-navigation/bottom-tabs # For drawer navigation npm install @react-navigation/drawer react-native-gesture-handler react-native-reanimated ``` ### Basic Setup ```tsx import React from 'react'; import { NavigationContainer } from '@react-navigation/native'; import { createNativeStackNavigator } from '@react-navigation/native-stack'; type RootStackParamList = { Home: undefined; Details: { itemId: string }; }; const Stack = createNativeStackNavigator(); export default function App() { return ( ); } ``` ### Stack Navigation The most common navigation pattern: ```tsx import React from 'react'; import { View, Text, Button } from 'react-native'; import { NativeStackScreenProps } from '@react-navigation/native-stack'; type RootStackParamList = { Home: undefined; Details: { itemId: string; title: string }; }; type HomeProps = NativeStackScreenProps; type DetailsProps = NativeStackScreenProps; function HomeScreen({ navigation }: HomeProps) { return ( Home Screen