React native 抽屉式动态初始路线
我希望基于异步存储中的密钥动态呈现初始路由。有很多方法可以做到这一点,但在我的情况下,我找不到任何工作。这是我的导航器文件React native 抽屉式动态初始路线,react-native,react-native-navigation,react-native-drawer,React Native,React Native Navigation,React Native Drawer,我希望基于异步存储中的密钥动态呈现初始路由。有很多方法可以做到这一点,但在我的情况下,我找不到任何工作。这是我的导航器文件 import { createDrawerNavigator, DrawerNavigatorItems, } from 'react-navigation-drawer'; const WINDOW_WIDTH = Dimensions.get('window').width; const getRoute = ()=>{ return "
import {
createDrawerNavigator,
DrawerNavigatorItems,
} from 'react-navigation-drawer';
const WINDOW_WIDTH = Dimensions.get('window').width;
const getRoute = ()=>{
return "SignUpScreen";
}
const DrawerNavigator = createDrawerNavigator(
{
Home: {
path: '/home',
screen: Home,
},
SignUpScreen:{
path: '/signup',
screen: SignUpScreen
},
OtpScreen: {
path: '/otpscreen',
screen: OtpScreen
}
},
{
initialRouteName: `${getRoute()}`,
contentOptions: {
activeTintColor: `${THEME_VARIABLES.COLORS.PRIMARY_TEXT}`,
activeBackgroundColor: 'transparent',
inactiveTintColor: `${THEME_VARIABLES.COLORS.PRIMARY_TEXT}`,
inactiveBackgroundColor: 'transparent',
backgroundColor: `${THEME_VARIABLES.COLORS.PRIMARY_THEME}`,
labelStyle: {
fontSize: 15,
marginLeft: 0,
},
},
drawerWidth: Math.min(WINDOW_WIDTH * 0.6, 300),
contentComponent: customContentComponent,
}
);
export default DrawerNavigator;
要在getRote()中使用异步存储,我必须执行以下操作
const getRoute = async()=>{
var initialRouteName = await AsyncStorage.getItem('screen');
return initialRouteName;
}
但是当我使用async时,该函数返回一个对象而不是字符串,就像它在我的第一个getRoute函数(不带async的函数)中返回的那样。其显示以下错误:
因为getRoute返回的是以async为前缀的承诺。是的,但是当我使用async返回承诺时,我需要getRoute返回字符串,而不是promiseput某种加载屏幕组件。那就把它当作孩子。设置路径的状态,然后使其生效,然后停止加载并允许此屏幕渲染。是的,按预期进行了操作。谢谢:)因为getRoute返回承诺,因为它的前缀是async。是的,但是当我使用async返回承诺时,我需要getRoute返回字符串,而不是promiseput某种加载屏幕组件。那就把它当作孩子。设置路径的状态,然后使其生效,然后停止加载并允许此屏幕渲染。是的,按预期进行了操作。谢谢:)