【发布时间】:2018-01-10 20:01:54
【问题描述】:
我的 react-native 应用程序由一个 DrawerNavigator 组成,其中包含多个 StackNavigator。我的结构的简化示例如下所示
- Drawer
- Stack 1
- Screen 1
- Screen 2
- Stack 2
- Screen 1
- Screen 2
我的问题如下: 我在堆栈 1 的屏幕 1。我使用抽屉导航到堆栈 2 的屏幕 1。从堆栈 2 的屏幕 1 按下按钮,我导航到堆栈 2 的屏幕 2。然后我使用 Drawer 导航回 Stack 1。我再次使用抽屉返回堆栈 2。我现在在堆栈 2 的屏幕 1 上,但标题中有一个后退按钮,看来我当前的屏幕刚刚放在旧堆栈的顶部。按下它会将我导航到堆栈 2 的屏幕 2,再次按下它会将我导航到堆栈 2 的屏幕 1。
当导航回到抽屉中的一个堆栈时,我希望它会以一个新堆栈返回到堆栈中的第一个项目 - 也就是说,没有返回按钮。
这是预期的行为吗?如果是这样,当我从抽屉导航到堆栈时,我能做些什么来“清除”堆栈吗?
这是一个 Expo 示例,其中包含重现我的结构和问题的最少代码:https://snack.expo.io/rk2HV-HNf
【问题讨论】:
-
不,不可能这样。请显示更多您的代码。
-
@BrightLee 我在 Expo 示例中添加了代码
-
我查看了您的代码,Screen3 中有错字。它说是屏幕 4。
-
我没有看到那个错误。我看到 Drawer Item 2 Screen 1 在文本中被错误地标记为 Screen 2,但这些都与我在上面的帖子中提到的问题无关
-
啊....现在我明白了。这是什么鬼?我从来不知道会发生这种情况。
标签: react-native react-navigation