从抽屉(带有自定义项目)导航到父堆栈中的屏幕时,我遇到一种奇怪的情况,当抽屉被关闭时,它将关闭该屏幕。
(伪代码)
StackNavigator({mode:modal})
--MainScreen (the drawer)
--ModalScreen
DrawerNavigator
== CustomDrawer onPress={navigate('ModalScreen), closeDrawer()}
-- Screen
所以应用程序转到ModalScreen
就好了,问题在于,如果我关闭抽屉,ModalScreen
也将关闭
如果我删除closeDrawer()
,则ModalScreen
会保留,但是当我关闭它时,抽屉后面的抽屉仍会打开。
我发现的唯一“解决方法”是忽略以下警告:我无法渲染多个导航器,将StackNavigator.navigation
设置为screenProps.rootNavigation
,然后执行
onPress={this.props.screenProps.rootNavigation.navigate('ModalScreen), closeDrawer()}
这不是很好。
此处示例https://snack.expo.io/rJ9jkvm5X
有什么好的解决方案吗? 谢谢