Javascript AsyncStorage getItem方法调用缓慢
我已经使用React Native AsyncStorage创建了一个身份验证流。我已经在useeffect状态中调用了getItem方法,钩子和令牌保存。根据令牌,用户是否会进入仪表板。但当我打开应用程序时,在useEffect中调用hook getItem的速度非常慢,当时登录屏幕是可见的,在一段时间后,用户移动到仪表板,所以速度非常慢。我如何解决这个问题 代码:Javascript AsyncStorage getItem方法调用缓慢,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我已经使用React Native AsyncStorage创建了一个身份验证流。我已经在useeffect状态中调用了getItem方法,钩子和令牌保存。根据令牌,用户是否会进入仪表板。但当我打开应用程序时,在useEffect中调用hook getItem的速度非常慢,当时登录屏幕是可见的,在一段时间后,用户移动到仪表板,所以速度非常慢。我如何解决这个问题 代码: const-App=()=>{ const[userlogin,setUserLogin]=useState(false); c
const-App=()=>{
const[userlogin,setUserLogin]=useState(false);
const[token,setToken]=useState(“”);
const authContext=useMoom(
() => ({
签名:()=>{
},
注销:()=>{
},
}),
[]
);
const getToken=async()=>{
AsyncStorage.getItem(@Token”)。然后((res)=>{
const-token=JSON.parse(res);
console.log(“1”,令牌);
setToken(token);
});
};
useffect(()=>{
getToken();
}, []);
console.log(“2”,令牌);
返回(
{token&&token?:}
);
};
导出默认应用程序;
AsyncStorage.getItem()是一个异步任务,就像API调用一样。只需添加一个加载程序屏幕即可
<NavigationContainer>
<Stack.Navigator screenOptions={{headerShown: false}}>
{authState.isLoading ? (
<Stack.Screen name="Splash" component={Splash} /> // loader screen
) : authState.userToken == null ? (
<Stack.Screen name="AuthNavigator" component={AuthNavigator} />
) : (
<Stack.Screen name="MainNavigator" component={MainNavigator} />
)}
</Stack.Navigator>
</NavigationContainer>
{authState.isLoading(
//装载机滤网
):authState.userToken==null(
) : (
)}
<NavigationContainer>
<Stack.Navigator screenOptions={{headerShown: false}}>
{authState.isLoading ? (
<Stack.Screen name="Splash" component={Splash} /> // loader screen
) : authState.userToken == null ? (
<Stack.Screen name="AuthNavigator" component={AuthNavigator} />
) : (
<Stack.Screen name="MainNavigator" component={MainNavigator} />
)}
</Stack.Navigator>
</NavigationContainer>