首页 > 解决方案 > React Navigation:有条件的主导航器

问题描述

我正在开发一个移动应用程序,当用户打开应用程序时,如果用户已登录,那么他会登陆主页,如果用户未登录,那么他会登陆登录页面并且用户是否已登录将其信息存储在本地存储中

所以我的问题是如何根据本地存储中的值有条件地切换应用程序根导航器

以下是我在导航器中使用的代码

const  BottomTabNavigator = createMaterialBottomTabNavigator({
   Home: { screen: HomePage },
   Library: { screen: LibrarePage },
}, 
{
  initialRouteName: 'Home',
  activeColor: '#f0edf6',
  inactiveColor: '#3e2465',
  barStyle: { backgroundColor: '#694fad' },
});

const loginNavigator = createSwitchNavigator({ SignInPage, BottomTabNavigator });

const AppContainer = createAppContainer((AsyncStorage.getItem("IsUserLoggedIn")) ? BottomTabNavigator : loginNavigator );

export default AppContainer;

上面的代码不起作用,因为 AsyncStorage.getItem("IsUserLoggedIn") 是异步方法,所以我的问题是如何实现上述场景

标签: react-nativereact-navigation

解决方案


推荐阅读