首页 > 解决方案 > stackNavigator 中的嵌套抽屉在隐藏时关闭模式

问题描述

从抽屉(带有自定义项目)导航到父堆栈中的屏幕时,我遇到了一种奇怪的情况,当抽屉被关闭时,堆栈将关闭该屏幕

(伪代码)

StackNavigator({mode:modal})
--MainScreen (the drawer)
--ModalScreen


DrawerNavigator
  == CustomDrawer onPress={navigate('ModalScreen), closeDrawer()}
  -- Screen

所以应用程序ModalScreen很好,问题是如果我关闭抽屉ModalScreen也会关闭

如果我删除closeDrawer()ModalScreen支架,但当我关闭它时,抽屉在后面仍然打开。

我发现的唯一“解决方法”是忽略警告说我无法渲染多个导航器,传递StackNavigator.navigationasscreenProps.rootNavigation并执行

onPress={this.props.screenProps.rootNavigation.navigate('ModalScreen), closeDrawer()}

这不是很好。

此处示例https://snack.expo.io/rJ9jkvm5X

有什么好的解决方案吗?谢谢

标签: react-navigation

解决方案


推荐阅读