首页 文章

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

提问于
浏览
1

我正在努力解决我希望的一个简单的问题 . 我有多个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 回答

  • 1

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

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

    以下也是如此吗?

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

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

相关问题