Day 02 Core Concepts

React Navigation — React Native in 5 Days

~1 hour Hands-on Precision AI Academy

Today's Objective

By the end of this lesson, you will understand the core concepts of React Navigation — React Native in 5 Days and be able to apply them in a real project.

bash
bash
npx expo install @react-navigation/native @react-navigation/native-stack
npx expo install react-native-screens react-native-safe-area-context
jsx
jsx
// App.js — Stack Navigator
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import HomeScreen from './screens/HomeScreen';
import DetailScreen from './screens/DetailScreen';

const Stack = createNativeStackNavigator();

export default function App() {
  return (
    <NavigationContainer>
      <Stack.Navigator initialRouteName="Home">
        <Stack.Screen name="Home" component={HomeScreen} />
        <Stack.Screen name="Detail" component={DetailScreen} />
      </Stack.Navigator>
    </NavigationContainer>
  );
}
jsx
jsx
// HomeScreen.js — navigate with params
export default function HomeScreen({ navigation }) {
  return (
    <View style={{ flex:1, alignItems:'center', justifyContent:'center' }}>
      <Button
        title="Go to Detail"
        onPress={() => navigation.navigate('Detail', { id: 42 })}
      />
    </View>
  );
}

// DetailScreen.js — read params
export default function DetailScreen({ route }) {
  const { id } = route.params;
  return <Text>Detail for item {id}</Text>;
}
01

Exercise: Add a Bottom Tab Navigator

  1. Install @react-navigation/bottom-tabs
  2. Create HomeTab and ProfileTab screens
  3. Wrap Stack inside Tab or use tabs at root
  4. Add icons using @expo/vector-icons
  5. Pass user name as a param to Profile tab
02

Day 2 Summary