react-native - 检查 AsyncStorage 中的现有密钥
问题描述
我想显示基于 AsyncStorage 的正确导航器,我在这里搜索但总是相同的结果:
const signedIn = async () => {
const token = await AsyncStorage.getItem('token');
if(token) {
return true;
} else {
return false;
}
}
它总是返回真..
解决方案
signedIn 函数正在返回一个承诺。如果您正在调用如下所示的函数,那么每次我们都会导航到SCREEN1。
let response = signedIn();
if(response){
console.log("SCREEN1")
//Navigate to SCREEN 1
}else{
console.log("SCREEN2")
// Navigate to SCREEN 2
}
而不是你应该这样称呼它
signedIn().then((response)=>{
if(response){
console.log("SCREEN1")
//Navigate to SCREEN 1
}else{
console.log("SCREEN2")
// Navigate to SCREEN 2
}
})
或者这样{调用函数应该是异步的}
let response = await signedIn()
if(response){
console.log("SCREEN1")
//Navigate to SCREEN 1
}else{
console.log("SCREEN2")
// Navigate to SCREEN 2
}
推荐阅读
- ios - 使用 Accelerate 框架的对称带矩阵的特征值
- php - 从动态 php 文件生成 PDF
- microsoft-graph-api - 不支持endsWith过滤器?
- vba - SAP GUI 脚本 VBA - 按钮按下被忽略
- c++ - C++中MCU寄存器映射的位域联合
- html - 我的网站内容在页脚下方
- java - Java Deque(从子数组中查找唯一整数的最大数量。)
- java - 添加项目后防止Jface向导列表调整窗口大小
- javascript - 通过 JQuery Ajax 发送授权令牌承载 - 后端是 .NET Core Web Api
- bash - Bash:从 grep 等待的非并行 FOR 循环执行