2017-05-08 4 views
1

Hallo Ich verwende dieses Paket für meine Navigation:Reagieren Native - Reagieren Navigation zeigen Kopf- und Fußzeile auf jeder Seite

https://github.com/react-community/react-navigation

Vor allem hier ist mein Code:

export default MainNavigator = 
    StackNavigator(
     { 
      header: { 
       screen: StackNavigator({ 
        footer: { 
         screen: TabNavigator({ 
          welcome: {screen: WelcomeScreen}, 
         }, 
          { 
           tabBarPosition: 'bottom', 
           swipeEnabled: false, 
           lazy: true, 
           tabBarOptions:{ 
            style: {background: '#fff'} 
           } 
          } 
         ) 
        } 
       }), 
      }, 
      auth: {screen: AuthScreen}, 
      login: {screen: LoginScreen}, 
     }, 
     { 
      headerMode: 'none', 
     }, 
    ); 

Hier ist, was ich erreichen möchte: Ich möchte Kopf- und Fußzeile auf dem Hauptbildschirm mit Ausnahme von Authentifizierung und Login zeigen.

Mit meinem derzeitigen Code ja, es funktioniert richtig, aber ich denke nicht, es ist eine gute Praxis, weil ich neue Route (Kopf-, Fußzeile) für TopBar und unteren Balken zu deklarieren. Hab ich recht?

Wenn nicht, wie kann ich Kopf- oder Fußzeile (es ist okay, wenn ich benutzerdefinierte Komponente machen muss) nur auf alle meine Seite mit Ausnahme von Login und Auth?

Dank

Antwort

0

Sie können, indem Header null den Header ausblenden.

export const Router = StackNavigator({ 
    auth: { 
     screen: Auth, 
     navigationOptions: ({ navigation }) => ({ header: null, }) 
    }, 
    test: { 
     screen: Test, 
     navigationOptions: ({ navigation }) => ({ header: <Text>Hi</Text> }) 
    } 
}); 

Sie können mehr darüber lesen Sie hier: https://reactnavigation.org/docs/navigators/stack

Verwandte Themen