AsyncStorage
AsyncStorage 是一个简单的、具有异步特性的键值对的存储系统,用于全局,替代localStorage。
#所有方法都有一个回调函数,执行后,都会返回一个Promise对象
案例:判断首次渲染
import { AsyncStorage } from 'react-native';
class GetSetStorge {
/**
* 异步保存
*/
setStorgeAsync(key, value) {
return new Promise((resolve, reject) => {
AsyncStorage.setItem(key, value, (error) => {
if (error) {
console.log(`设置${key}失败${error}`);
reject(`设置${key}失败${error}`);
} else {
console.log(`设置${key}成功`);
resolve(true);
}
});
});
}
/**
* 异步获取
*/
getStorgeAsync(key) {
return new Promise((resolve, reject) => {
AsyncStorage.getItem(key, (error, result) => {
if (error) {
console.log(`读取${key}失败` + error);
reject(`读取${key}失败${error}`);
} else {
console.log(`读取${key}成功`);
resolve(result);
}
});
});
}
}
export default new GetSetStorge();
// 使用
···
this.timer = setTimeout(() => {
GetSetStorge.getStorgeAsync('isFrist').then((result) => {
if (result == null || result == '') {
//第一次启动
this.props.navigation.navigate('GuideView');
GetSetStorge.setStorgeAsync('isFrist', 'true');
} else {
//第二次启动s
this.props.navigation.navigate('GuideView');
}
}).catch((error) => {
console.log('系统异常' + error);
});
}, 1000);
···