react-native - 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") 是异步方法,所以我的问题是如何实现上述场景
解决方案
推荐阅读
- javascript - 出现错误:'() => () => boolean' 类型的参数不可分配给'EffectCallback' 类型的参数
- function - 替换函数以完成 Ticker 的代码
- c# - 从单个页面模型之外调用“非静态字符串”
- javascript - Firebase firestore 无法读取未定义的属性“firebase”
- android - 如何根据视图在屏幕上的位置进行 android 缩放动画并将该视图聚焦在中心?
- android - 如何在android中与wifi和热点共享文件?
- android - 在 android 中安装之前推送 SharedPreference 文件
- php - 如何将根域存储为 php 中的变量并使用它在文件夹之间移动
- php - Apache Unicode 处理
- database - Flutter:将数据从第一屏发送到第二屏