İçeriğe geç

React Navigation Kurulum ve Kullanımı

React Native uygulamanızda birden fazla sayfa oluştuduğunuz sayfalar arası geçiş yapmak için React Navigation paketi kullanılır. React Navigation paketini kurma komutu;

npm install @react-navigation/native

Gerekli bağımlı paketleri de yüklemeniz gerekiyor.

npm install react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-native-community/masked-view

React Navigation için 3 modül bulunmaktadır; Drawer, Tab ve Stack. Bu örneğimizde Stack yapısı ile sayfalar arası geçiş işlemini yapalım.

Stack modülü(@react-navigation/stack)’nü yükleme;

npm install @react-navigation/stack

2 sayfası arası geçiş ise şu şekilde yapılır; Öncelikle App.js’i güncelleyin.

import 'react-native-gesture-handler';
import * as React from 'react';
import {NavigationContainer} from '@react-navigation/native';
import {createStackNavigator} from '@react-navigation/stack';
import FirstScreen from './FirstScreen';
import SecondScreen from './SecondScreen';

const Stack = createStackNavigator();

const App = () => {
  return (
    <NavigationContainer>
      <Stack.Navigator>
        <Stack.Screen name="FirstScreen" component={FirstScreen} />
        <Stack.Screen name="SecondScreen" component={SecondScreen} />
      </Stack.Navigator>
    </NavigationContainer>
  );
};

export default App;

FirstScreen.js isimli dosya oluşturun;

import React, {Component} from 'react';
import {View, Button} from 'react-native';

export default class FirstScreen extends Component {
  constructor(props) {
    super(props);
    this.state = {};
  }

  render() {
    return (
      <View
        style={{
          flex: 1,
          justifyContent: 'center',
          alignItems: 'center',
        }}>
        <Button
          title="Navigate"
          onPress={() => this.props.navigation.navigate('SecondScreen')}
        />
      </View>
    );
  }
}

SecondScreen.js isimli dosya oluşturun;

import React, {Component} from 'react';
import {View, Text} from 'react-native';

export default class SecondScreen extends Component {
  constructor(props) {
    super(props);
    this.state = {};
  }

  render() {
    return (
      <View
        style={{
          flex: 1,
          justifyContent: 'center',
          alignItems: 'center',
        }}>
        <Text> Second Screen </Text>
      </View>
    );
  }
}

Kategori:ReactReact Native

2 Yorum

  1. ali ali

    selam…bu yazınızdaki bilgiler şu an için de geçerli midir?..değişiklikler varsa önerilerinizi bekliyorum…saygılarımla

  2. ali ali

    yukardaki örneği siz denediniz mi..bende çalışmadı..tüm paketleri yüklememe rağmen..

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir