反复导航到goBack()到定义的屏幕

时间:2017-10-14 21:03:37

标签: reactjs react-native react-navigation

我正在努力实现我希望的一个简单的问题。我有多个StackNavigators与各种屏幕。 像这样:

  

主筹码
    主屏幕(条目)

     

聊天堆栈
  聊天列表
  聊天细节屏幕
  将会员添加到列表中   邀请朋友聊天

在聊天列表中,用户可以导航到邀请朋友聊天屏幕。那么聊天列表屏幕>邀请朋友聊天屏幕。这很有效,就像整个应用程序一样。

在同一堆栈中导航可以很好地向前发展。我使用标准.navigate继续前进。

this.props.navigation.navigate('邀请朋友聊天')

在成功邀请朋友后,我正在导航到聊天列表屏幕。

  

这里我想在导航到新屏幕时从堆栈中删除活动屏幕

Link Referred React-Navigation

E.g。

Going back from a specific screen
Consider the following navigation stack history:
navigation.navigate(SCREEN_KEY_A);
...
navigation.navigate(SCREEN_KEY_B);
...
navigation.navigate(SCREEN_KEY_C);
...
navigation.navigate(SCREEN_KEY_D);
Now you are on screen D and want to go back to screen A (popping D, C, and B). Then you need to supply a key to goBack FROM:
navigation.goBack(SCREEN_KEY_B) // will go to screen A FROM screen B

1 个答案:

答案 0 :(得分:1)

你的问题对我来说并不完全清楚,但听起来你喜欢这种行为......

A > B > C > D > goBack() => A

以下情况也是如此吗?

A > B > C > goBack() => A
A > B > goBack() => A
A > goBack() => A

如果是这样,那么您需要使用navigation.navigate()而不是将新场景推送到导航堆栈的navigation.reset()。有关详细信息,请参阅React Navigation Docs (Reset)