我正在努力解决我希望的一个简单的问题 . 我有多个StackNavigators与各种屏幕 . 像这样:
主要堆栈主屏幕(条目)聊天堆栈聊天列表聊天详情屏幕添加会员列表邀请朋友聊天
在聊天列表中,用户可以导航到邀请朋友聊天屏幕 . 所以聊天列表屏幕>邀请朋友聊天屏幕 . 这很有效,就像整个应用程序一样 .
在同一堆栈中导航可以很好地向前发展 . 我正在使用标准.navigate继续前进 .
this.props.navigation.navigate('邀请朋友聊天')
在成功邀请朋友后,我正在导航到聊天列表屏幕 .
这里我想在导航到新屏幕时从堆栈中删除活动屏幕
链接参考React-Navigation
例如 .
从特定屏幕返回
请考虑以下导航堆栈历史记录:
navigation.navigate(SCREEN_KEY_A);
...
navigation.navigate(SCREEN_KEY_B);
...
navigation.navigate(SCREEN_KEY_C);
...
navigation.navigate(SCREEN_KEY_D);
现在你在屏幕D上,想要回到屏幕A(弹出D,C和B) . 然后你需要提供一个goBack FROM的密钥:
navigation.goBack(SCREEN_KEY_B)//将转到屏幕A FROM屏幕B.
1 回答
你的问题对我来说并不完全清楚,但听起来你喜欢这种行为......
以下也是如此吗?
如果是这样,那么您将要使用
navigation.reset()
而不是将新场景推送到导航堆栈的navigation.navigate()
. 有关更多信息,请参阅React Navigation Docs (Reset)