我正在努力实现我希望的一个简单的问题。我有多个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
答案 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)