反应导航中的跳过屏幕

时间:2018-04-27 17:26:52

标签: reactjs react-native react-native-android react-navigation react-native-ios

我正在尝试在应用程序中创建动态启动画面,因为我创建了一个名为Splashscreen的组件屏幕,并且在一定时间间隔后我将用户路由到普通堆栈。问题是当用户导航回来时我不希望用户在退出应用程序之前到达启动画面。

这是我目前的代码

const NewsStack = StackNavigator({
    . . . 
});

export const Root = StackNavigator({
    Splashscreen: {
        screen: Splashscreen
    },
    Mainscreen: {
        screen: NewsStack
    }
}, {
    mode: 'modal',
    headerMode: 'none'
});

NewsStack包含应用的其余部分。截至目前,该应用程序正常工作,打开启动画面,然后在一定的超时后导航不同的屏幕,但在导航出应用程序时,用户到达启动画面。除了听后退按钮之外还有什么方法吗?后退按钮方法是否也适用于iOS?

2 个答案:

答案 0 :(得分:3)

使用https://reactnavigation.org/docs/auth-flow.html

中记录的switchnavigator

- 来自文档

  

SwitchNavigator的目的是只在一个屏幕上显示一个屏幕   时间。默认情况下,它不处理后退操作并重置路由   切换时的默认状态

-

默认情况下,它处理后退按钮

答案 1 :(得分:2)

正如其他人提到的SwitchNavigator是一个不错的选择。但是你可以通过条件渲染完成它,而不是将Splash Screen推送到导航堆栈。由于可以获得大量答案,我只是粘贴一个类似的链接,以避免重复。 Here is the link