Pada tutorial kali ini. kita akan membahasa tentang navigation versi 5.x pada aplikasi react-native. react native navigation versi 5.x yang merupakan versi terbaru dan sangat support untuk hooks. Nah di tutorial ini kita akan mempelajari bagaiman cara berpindah laman/screen di React Native.
Apa Yang Akan Kita Pelajari ?
- Instalasi dan Setup React Navigation 5
- Routing di React Navigation
- Berpindah Halaman/Screen
Langsung saja kita coba koding langsung pada aplikasi
- Buat project React-Native baru dengan nama reactnavigation
npx react-native init reactnavigation - Install react-navigation 5 pada root project dengan perintah command line
yarn add @react-navigation/native yarn add @react-navigation/stack - Install juga pendukung react-navigation untuk react-native
npm install react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-native-community/masked-view - Tambahkan library pada folder android/app/build.grandle
implementation 'androidx.appcompat:appcompat:1.1.0-rc01' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02' - import packages react-navigation dan createStackNavigator pada app.js
import { NavigationContainer } from '@react-navigation/native'; import { createStackNavigator } from '@react-navigation/stack'; - dan edit app.js sehingga menjadi
import * as React from 'react'; import { Button, View, Text } from 'react-native'; import { NavigationContainer } from '@react-navigation/native'; import { createStackNavigator } from '@react-navigation/stack'; import HomeScreen from './src/Screen/HomeScreen'; import DetailsScreen from './src/Screen/DetailsScreen'; import ProfilesScreen from './src/Screen/ProfilesScreen'; // Stack berguna untuk routing aplikasi const Stack = createStackNavigator(); function App() { return ( <NavigationContainer> <Stack.Navigator initialRouteName="Home"> <Stack.Screen name="Home" component={HomeScreen} /> <Stack.Screen name="Details" component={DetailsScreen} /> <Stack.Screen name="Profiles" component={ProfilesScreen} /> </Stack.Navigator> </NavigationContainer> ); } export default App; - Buat folder file src/Screen/HomeScreen.js
import React from 'react' import { Button, View, Text } from 'react-native' // Screen Home const HomeScreen = ({ navigation }) => { console.log(navigation) return ( <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}> <Text>Home Screen</Text> <Button title="Go to Details" onPress={() => navigation.navigate('Details')} /> <Button color="red" title="Go to Profile" onPress={() => navigation.navigate('Profiles')} /> </View> ); } export default HomeScreen - Buat folder file src/Screen/DetailsScreen.js
import React from 'react' import { Button, View, Text } from 'react-native' // Screen Detail const DetailsScreen = ({ route, navigation }) => { return ( <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}> <Text>Details Screen</Text> <Button title="Go to Details... again" onPress={() => navigation.push('Details')} /> <Button title="Go to Home" onPress={() => navigation.navigate('Home')} /> <Button title="Go back" onPress={() => navigation.goBack()} /> <Button title="Go back to first screen in stack" onPress={() => navigation.popToTop()} /> </View> ); } export default DetailsScreen - Buat folder file src/Screen/ProfilesScreen.js
import React from 'react' import {Button, View, Text } from 'react-native' const ProfilesScreen = ({ route, navigation }) => { return ( <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}> <Text>Profile Screen</Text> <Button color="black" title="Go to Home" onPress={() => navigation.navigate('Home')} /> <Button title="Go back" onPress={() => navigation.goBack()} /> <Button color="green" title="Go back to first screen in stack" onPress={() => navigation.popToTop()} /> </View> ); } export default ProfilesScreen
Hasil Belajar
Kesimpulan
Kenapa kita menggunakan React Navigation versi 5.x, jawabannya karena React Navigation 5.x sudah sangat support Hooks dan merupakan versi terupdate dan stable untuk React Navigation. Info lebih lanjut kamu bisa mengunjungi websitenya https://reactnavigation.org/
#React native navigation 5 tutorial
#Tutorial react native navigation 5
#route react-native




