React native 如果用户登录,则在react native中重定向。避免页面闪烁

React native 如果用户登录,则在react native中重定向。避免页面闪烁,react-native,stack-navigator,React Native,Stack Navigator,在我的react原生应用程序中,我想检查用户是否已登录,然后将其重定向到dashboard else重定向到登录页面。 不过,在重定向到仪表板之前,它会显示登录页面一小会儿。我希望避免这个屏幕闪烁,并将用户发送到仪表板,而不显示登录页面。 我在login.js中使用组件willmount,如下所示 componentWillMount() { AsyncStorage.getItem('session', (err, session) => { co

在我的react原生应用程序中,我想检查用户是否已登录,然后将其重定向到dashboard else重定向到登录页面。 不过,在重定向到仪表板之前,它会显示登录页面一小会儿。我希望避免这个屏幕闪烁,并将用户发送到仪表板,而不显示登录页面。 我在login.js中使用组件willmount,如下所示

componentWillMount() {
        AsyncStorage.getItem('session', (err, session) => {
            console.log(session);
            if (session == 'ok') {

                this.props.navigation.dispatch(NavigationActions.reset({
                    index: 0,
                    actions: [
                        NavigationActions.navigate({ routeName: 'DashboardTab' })
                    ]
                }))

            }
        })
    }


This is my App.js for the nav-




const App = StackNavigator({
  Home: { screen: LoginScreen },
  Register: { screen: RegisterScreen },
  Profile: { screen:ProfileScreen },
  Wallets: { screen:WalletsScreen },
  DashboardAccept: { screen:DashboardAccept },
  TermsConditions: { screen:TermsConditionsScreen },
  DashboardTab: { screen:DashboardTabScreen },
});
export default App;

请帮助

我认为这是因为您正在使用AsyncStorage,访问它需要一点时间。我建议您在登录屏幕上添加一个加载器,这样用户就不会看到闪烁。我也有同样的感觉,但目前,我在应用程序的开始处引入了一个空白页,检查会话值,然后进行相应的导航。另外,我想在加载应用程序时介绍一个图像,你能告诉我如何在app.js页面上进行吗?@moritzw。。。你能帮我理解如何在android/ios中使用闪屏吗。。。。。