所以我编写了一个简单的应用程序,带有react-navigation,我想编写如下代码:
- Home (Tab)
- Profile (Tab)
-- User info (Stack screen)
--- Edit user info (Stack screen) - (screen with input to edit name, email etc...)
当我点击“编辑信息”屏幕上的“保存”时,标题右侧有一个按钮完成,此按钮应导航回“用户信息”屏幕,您可以在其中看到更新的详细信息。
**但是!**一切正常,但是当我单击EditInfo屏幕上的Done时,它导航回Home!这是为什么?
多谢帮忙
2条答案
按热度按时间ftf50wuq1#
你能不能把服务屏幕的代码放在你调用goBack函数的地方,这可能会有帮助。通常你只需要调用
您可能使用了错误的Navigator组件,或者您的要求不明确。基本上,您希望使用StackNavigator来实现所需的行为。
问题是,
DrawerNavigator
是用来建立一个抽屉菜单的。如果你从左边滑动,你会看到你的导航抽屉包含你所有的屏幕,你可以看到下面的图片如果您在屏幕上添加一个按钮,如下图所示,您将看到菜单打开。
结论是,每当我们使用DrawerNavigator时,我们总是返回到初始路线,即我们定义为第一项或使用DrawerNavigator第二个参数的initialRouteName键的任何内容。
顾名思义,只有StackNavigator支持您希望实现的这种堆叠顺序。
您可以在DrawerNavigator的其中一个屏幕内 Package 新的StackNavigator。例如:
lhcgjxsq2#
也许this answer能帮到你。
简而言之:可能需要在选项卡导航器中指定
backBehaviour
参数。