hoangnguyen0403-react-native-navigation
SKILL.md
React Native Navigation
Priority: P0 (CRITICAL)
Use React Navigation (official solution).
Implementation Guidelines
- Typed Navigation: Use TypeScript to define param lists.
- Centralized: Define all navigators in
src/navigation/. - Nesting: Nest navigators (e.g., Tab inside Stack).
- Options: Set
screenOptionsat navigator level, override per screen. - Header: Customize with
headerTitle,headerRight,headerLeft. - Deep Linking: Configure
linkingconfig for universal links.
Code
type RootStackParamList = {
Home: undefined;
Profile: { userId: string };
};
// Typed Navigation
const Stack = createNativeStackNavigator<RootStackParamList>();
function RootNavigator() {
return (
<Stack.Navigator>
<Stack.Screen name='Home' component={HomeScreen} />
<Stack.Screen name='Profile' component={ProfileScreen} />
</Stack.Navigator>
);
}
// Usage in Screen
function HomeScreen({
navigation,
}: NativeStackScreenProps<RootStackParamList, 'Home'>) {
navigation.navigate('Profile', { userId: '123' });
}
Anti-Patterns
- No String Literals: Use typed params.
- No Navigation in Business Logic: Pass callbacks from screens.
- No Deep Nesting: Max 2-3 levels of navigators.
Reference & Examples
See references/deep-linking.md for Universal Links, Nested Navigators, and State Persistence.
Related Topics
architecture | typescript/language
Weekly Installs
1
First Seen
Feb 28, 2026
Installed on
mcpjam1
claude-code1
junie1
windsurf1
zencoder1
crush1