React Native ile Sayfa Geçişi (Navigation) Kod Örneği

📱 React Native ile Sayfa Geçişi (Navigation) Kod Örneği


🔧 Gerekli Kurulumlar

Öncelikle, react-navigation kütüphanesini ve gerekli bağımlılıklarını yükleyelim:

bashCopyEditnpm install @react-navigation/native
npm install react-native-screens react-native-safe-area-context react-native-gesture-handler react-native-reanimated
npm install @react-navigation/native-stack

Not: Expo kullanıyorsan sadece şu komutu çalıştırman yeterli:

bashCopyEditnpx expo install @react-navigation/native @react-navigation/native-stack react-native-screens react-native-safe-area-context react-native-gesture-handler react-native-reanimated

📁 Dosya Yapısı

CopyEditApp.js
screens/
├── HomeScreen.js
└── DetailsScreen.js

🔤 App.js (Navigation Ayarı)

jsxCopyEditimport * as React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';

import HomeScreen from './screens/HomeScreen';
import DetailsScreen from './screens/DetailsScreen';

const Stack = createNativeStackNavigator();

export default function App() {
  return (
    <NavigationContainer>
      <Stack.Navigator initialRouteName="Home">
        <Stack.Screen name="Home" component={HomeScreen} />
        <Stack.Screen name="Details" component={DetailsScreen} />
      </Stack.Navigator>
    </NavigationContainer>
  );
}

🏠 HomeScreen.js

jsxCopyEditimport React from 'react';
import { View, Text, Button, StyleSheet } from 'react-native';

export default function HomeScreen({ navigation }) {
  return (
    <View style={styles.container}>
      <Text style={styles.text}>Burası Ana Sayfa</Text>
      <Button
        title="Detaylara Git"
        onPress={() => navigation.navigate('Details')}
      />
    </View>
  );
}

const styles = StyleSheet.create({
  container: { flex: 1, alignItems: 'center', justifyContent: 'center' },
  text: { fontSize: 24, marginBottom: 20 }
});

📄 DetailsScreen.js

jsxCopyEditimport React from 'react';
import { View, Text, Button, StyleSheet } from 'react-native';

export default function DetailsScreen({ navigation }) {
  return (
    <View style={styles.container}>
      <Text style={styles.text}>Burası Detay Sayfası</Text>
      <Button
        title="Geri Dön"
        onPress={() => navigation.goBack()}
      />
    </View>
  );
}

const styles = StyleSheet.create({
  container: { flex: 1, alignItems: 'center', justifyContent: 'center' },
  text: { fontSize: 24, marginBottom: 20 }
});

🔑 Anahtar Noktalar

  • NavigationContainer: Navigation sisteminin çalışabilmesi için zorunlu sarmalayıcı.
  • createNativeStackNavigator: Sayfalar arası yığılma (stack) yapısını yönetir.
  • navigation.navigate("SayfaAdı"): Belirtilen sayfaya gider.
  • navigation.goBack(): Önceki sayfaya döner.

Review React Native ile Sayfa Geçişi (Navigation) Kod Örneği.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir