2017-11-07 5 views
0

Ich benutze reagieren Navigation für navigieren Bildschirm. Ich verwendete verschachtelte Navigation, TabNavigator und StackNavigator.Reagieren Navigation - benutzerdefinierte Bildschirm navigieren

Wie ich weiß, wenn Sie herumwischen, werden die Bildschirm folgen von dem, was wir unter TabNavigator festgelegt.

Normalerweise Bildschirm verfolgt

One> Two> Drei> Vier> Fünf

Was ich brauche

One> Two> Vier> Fünf

Reason I Three überspringen Soll ich diesen Bildschirm aufrufen ist this.props.navigation.navigate('ThreeScreen') anzurufen, aber ich wollte es trotzdem auf der Navigationsleiste. Ist es möglich ? oder kann ein anderer Vorschlag so etwas tun?

const mainNav = TabNavigator({ 
    One: { 
    screen: OneScreen, 
    }, 
    Two: { 
    screen: TwoScreen, 
    }, 
    Three: { 
    screen: ThreeScreen, 
    }, 
    Four: { 
    screen: FourScreen, 
    }, 
    Five: { 
    screen: FiveScreen, 
    }, 
}); 

export const mainStack = StackNavigator({ 
    Home: { screen: mainNav}, 
    Content: { screen: ContentScreen }, 
}); 
+0

u sind Sprichst du, wie du zu vier durch das Überspringen von drei navigieren willst, aber du willst Screen3 auf der Rückseite drücken, oder? – Vicky

+0

@Vicky ja, du hast recht –

+0

@Vicky Screen3 ist ein Aufruf von 'this.props.navigation.navigate ('ThreeScreen')', also sollte es Overlay sein –

Antwort

0

hinzufügen gesturesEnabled in navigationOptions entweder:

Innen Komponente

class ThreeScreen extends React.Component { 

    static navigationOptions= { 
     gesturesEnabled: false 
    }; 

} 

oder direkt innerhalb der Routing-Konfiguration

const mainNav = TabNavigator({ 
    //.... 
    Three: { 
    screen: ThreeScreen, 
    navigationOptions: { 
     gesturesEnabled: false, 
    } 
    }, 
//.... 

}); 
+0

'Three' kann immer noch über die Umgebung wischen –

Verwandte Themen