【发布时间】:2019-12-02 10:15:19
【问题描述】:
我正在尝试从子选项卡导航器导航到父堆栈导航器的屏幕。但是 this.props.navigation.navigate 只能导航到孩子的导航道具 '
//stack.js
const AppNavigator = createStackNavigator(
{
DetailPage: DetailPage, //Screen A
MainScreen: { . //Screen B
screen: MainScreen,
navigationOptions: {
header: null
}
}
{
initialRouteName: "MainScreen"
}
}
//MainScreen.js
<View style={{ flex: 1 }}>
<TabScreen />
</View>
//TabScreen.js
const TabScreen = createMaterialTopTabNavigator({
Home: {
screen: HomeStack
},
// Videos: { screen: Videos },
Videos: {
screen: Videos
},
Shows: {
screen: AllShows
},
Live: {
screen: Live
}
})'
我想从 (TabNavigator)TabScreen 的主页导航到 (StackNavigator)AppNavigator 的 DetailPage。但是 OnPress 什么都不做。但是,它可以导航到 TabNavigator(子导航器)的不同屏幕。 请帮助我如何从子 TabNavigator 导航到父 StackNavigator
【问题讨论】:
-
这可能会有所帮助:stackoverflow.com/a/51333660/2849146
-
维克多的以下回答怎么样。他说你不能这样做
-
您可能需要深入了解导航,正如 victor 所说,导航只有一个根导航,withNavigation 有助于从内部子组件导航到任何屏幕,下面的链接可能会有所帮助。 reactnativeschool.com/…
-
@Adarsh withNavigation 仅将导航道具绑定到组件。但这并不意味着 root navigator 知道 TopNavigator
-
试试
this.props.navigation.getParent:reactnavigation.org/docs/navigation-prop/#getparent
标签: react-native react-native-android react-props stack-navigator react-native-tabnavigator