2017-08-02 25 views
1

我開始使用反應導航的世博會。
即時通訊使用默認的TabNavigation應用程序構建。
默認情況下,它具有加載MainTabNavigatorReact-navigation:如何添加未在TabNavigator中顯示的導航?

const RootStackNavigator = StackNavigator(
    { 
    Main: { 
     screen: MainTabNavigator, 
    }, 
    }, 
    { 
    navigationOptions:() => ({ 
     headerTitleStyle: { 
     fontWeight: 'normal', 
     }, 
    }), 
    } 
); 

的MainTabNavigator是TabNavigator實例RootStackNavigator。

我創建了一個「ListItemScreen」屏幕並將其添加到TabNavigator中。
在這個屏幕上,我想要一個按鈕,用於添加項目的窗體轉到另一個屏幕「FormScreen」。
如何在不將其添加到TabNavigator的情況下創建「FormScreen」?
我應該創建一個StackRouter嗎?如果是這樣,我如何構建文件?
我已經多次閱讀文檔,但沒有得到它。

回答

0

您不必將FormScreen添加到TabNavigator,而是添加到StackNavigator

const RootStackNavigator = StackNavigator(
    { 
    FormScreen: { 
     screen: FormScreen, 
    }, 
    /* ... other routes ... */ 
    } 
} 

左右的時間內標籤的Button可以直接調用navigate()

<Button title="Go FormScreen" onPress={() => this.props.navigation.navigate('FormScreen')} /> 

官方文件Nesting a Navigator in a Screen給出了一個很好的例子這一點。

+1

謝謝。我完全忽略了這一部分。我認爲「嵌套導航」是我不需要的更先進的東西。 –

相關問題