我希望我能够正确地解释这一点,并且那里还没有答案。对于StackNavigator嵌套在DrawerNavigator中的应用程序,似乎还有一些设计决策。
我想要实现的目标:我在DrawerNavigator中有一个“设置”屏幕的链接,类似于很多应用程序。我将使用Google Play音乐作为我想要的示例。单击“设置”会将您转到一个只有“后退”/“完成”按钮的新屏幕。抽屉菜单无法访问。
问题:如何在DrawerNavigator中添加链接到新卡/模态视图的链接?我猜它可以实现我的一些嵌套导航器堆栈,但我无法获得任何有用的东西。
示例代码:
UIAlertController
有一个拉取请求允许在特定屏幕上禁用抽屉菜单,所以我现在并不是真的担心,只是导航到const DashboardNavigator = StackNavigator({
Home: { screen: HomeScreen }
})
const SettingsNavigator = StackNavigator({
Settings: {screen: SettingsScreen}
// I thought adding 'mode': 'modal would give me the functionality
// I'm looking for my it doesn't
}, { mode: 'modal', initialRoute: 'Settings' })
const DrawerNavigation = DrawerNavigator({
Home: {
screen: DashboardNavigator
},
Settings: {
screen: SettingsNavigator
}
})
带我回到最后一个屏幕的屏幕on(用卡片幻灯片动画)。
答案 0 :(得分:1)
能够得到它,虽然我仍然可以访问抽屉菜单...希望他们能够很快添加禁用抽屉的功能。
const DrawerComponent = ({ navigation }) => {
return (
<View>
<Button onPress={() => navigation.navigate("SettingsView")} title="settings" />
</View>
)
}
const DashboardNavigator = StackNavigator({
Home: { screen: HomeScreen },
SettingsView: { screen: SettingsScreen }
})
const DrawerNavigation = DrawerNavigator({
Home: {
screen: DashboardNavigator
}
}, { contentComponent: DrawerComponent })
const RootNavigator = StackNavigator({
Root: {
screen: DrawerNavigation
}
})