React Native ile proje geliştirirken daha kolay ve hızlı menü işlemleri için önerilen https://reactnavigation.org/en/ kütüphanesi ile ilgili aldığım notlar:

            <MainStack></MainStack>

Proje klasörümüzde komut dosyasını açarak

yarn add react-navigation

komutunu çalıştırıp react-navigatin kütüphanesini projemize ekliyoruz.

Başlangıç dosyasına kullanılacağımız parçaları ekliyoruz:

import { SwitchNavigator,TabNavigator } from 'react-navigation';
const MainStack= SwitchNavigator({
    login:Login,
    main:MainFeed
})

şeklinde login ve main parçalarından oluşan bileşeni tanımlayıp, bunu:

            <MainStack></MainStack>

koduyla çağırıyoruz.

Daha sonra Login.js dosyasına gidip login() fonksiyonunun içerisine:

    login(){
        this.props.navigation.navigate("main")
    }

yazdığımızda login fonksiyonunu çağırdığımız buton hareketiyle main sayfasına yönlenmiş bulunuyoruz.

Bu şekilde basit anlamda dolaşım yapabiliriz.

Tab gezintinin komple kodu:

import React, {Component} from 'react'
import {Text, View, StyleSheet } from 'react-native'
import {MainFeed,Login,Camera,Profile} from './components/screens/'
import { SwitchNavigator,TabNavigator  } from 'react-navigation'

const Tabs = TabNavigator({
	feed: {
		screen: MainFeed,
    },
    camera: {
		screen: Camera,
    },
    profile: {
		screen: Profile,
	},
});

const MainStack= SwitchNavigator({
    login:Login,
    main:Tabs,   
    
})

class InstaClone extends Component{

    render(){
        return(
            <View style={{ height: 100+'%', width: 100+'%' }}>
                        <MainStack></MainStack>          
            </View>
        )
    }
}

export default InstaClone;

Yukarıdaki kod ile aşağıdaki görüntü oluşuyor. Hata vermemesine rağmen uzun süre tab’ı görememe sebebimiz

<View style={{ height: 100+'%', width: 100+'%' }}>
    <MainStack />
</View>

bu kısımdaki view kodlarının olmaması imiş 🙂 Gerçekten gıcık bir durum. Ayrıca TabNavigator yeni sürümde kaldırılmış, gelişimin yararları olduğu kadar zararları da mevcut 🙂

İkili navigasyon için StackNavigator kullanılabilir:

const IntroStack=StackNavigator({
    login:Login,
    register:Register
})

Bir cevap yazın

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