【发布时间】:2021-03-03 10:54:11
【问题描述】:
当从异步存储中加载正确的数据时,我会重新路由用户:
useEffect(() => {
loadData(localStorageKeys.USER_LOGGED_IN, true)
.then(isUserLoggedIn => {
if (isUserLoggedIn) {
props.navigation.navigate(NavigationLocations.DASHBOARD)
.catch(e => logNavigationError(e))
} else {
console.log("No user is signed in.");
console.log(AsyncStorage.getAllKeys());
}
}
)
.catch(e => {
console.error("Unable check locally if user is logged in.");
debugger
console.error(e);
});
}, []);
路由按预期工作,但是我收到此错误:
index.js:1 Unable check locally if user is logged in.
console.<computed> @ index.js:1
(anonymous) @ Signup.js:32
Promise.catch (async)
(anonymous) @ Signup.js:29
...
即使路由按预期进行,为什么还会出现错误?
【问题讨论】:
-
为什么写这行
.catch(e => logNavigationError(e)) -
因为导航方法返回一个promise。
标签: javascript react-native promise react-navigation