最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

React Native AsyncStorage本地存储工具类

来源:懂视网 责编:小采 时间:2020-11-27 22:27:03
文档

React Native AsyncStorage本地存储工具类

React Native AsyncStorage本地存储工具类:利用react-native组件AsyncStorage,通过promise,保存本地数据,具体内容如下 import {AsyncStorage} from 'react-native'; export default class StorageUtil { /** * 保存一个Json对象 * @param key * @par
推荐度:
导读React Native AsyncStorage本地存储工具类:利用react-native组件AsyncStorage,通过promise,保存本地数据,具体内容如下 import {AsyncStorage} from 'react-native'; export default class StorageUtil { /** * 保存一个Json对象 * @param key * @par

利用react-native组件AsyncStorage,通过promise,保存本地数据,具体内容如下

import {AsyncStorage} from 'react-native';

export default class StorageUtil {

 /**
 * 保存一个Json对象
 * @param key
 * @param value
 * @param callback
 */
 static async saveJsonObject(key, value) {
 return await this.saveString(key, JSON.stringify(value));
 }


 /**
 * 获取一个Json对象
 * @param key
 * @param defaultObject
 */
 static async getJsonObject(key, defaultObject) {
 let result=null;
 try{
 result=await this.getString(key,null);
 result=await JSON.parse(result);
 }catch (err){
 if(defaultObject){
 return Promise.resolve(defaultObject);
 }else{
 return Promise.reject(err);
 }
 }
 return result;

 }


 /**
 * 保存一个值
 * @param key
 * @param value
 */
 static async saveString(key, value) {
 if (key != null && value != null) {
 //Key 与Value 都不为空
 try {
 await AsyncStorage.setItem(key, value)
 } catch (err) {
 return Promise.reject(err)
 }
 return Promise.resolve(true);
 } else {
 return Promise.reject({"msg": "Key and value can not be null"});
 }
 }

 /**
 * 获取一个值
 * @param key
 * @param defaultValue
 */
 static async getString(key, defaultValue) {
 let result = null;
 let noDataError = {"msg": "No value found !"};
 if (key != null) {
 result = await AsyncStorage.getItem(key);
 // console.log('get string result',result,defaultValue);
 return result ? result : defaultValue!=null ? defaultValue : Promise.reject(noDataError);
 } else {
 if (defaultValue) {
 return Promise.resolve(defaultValue);
 } else {
 return Promise.reject(noDataError);
 }
 }

 }


 /**
 * 移除一个值
 * @param key
 */
 static async remove(key) {
 let result = true;
 try {
 result = await AsyncStorage.removeItem(key);
 } catch (err) {
 return Promise.reject(err)
 }
 return result;
 }


 /**
 * 获取所有已存储
 */
 static async getAllKeys() {
 let result=true;
 try {
 result = await AsyncStorage.getAllKeys();
 } catch (err) {
 return Promise.reject(err)
 }
 return result;
 }

}

外界调用

保存

StorageUtil.saveJsonObject(KEY_LOCAL_USER_INFO, user);

读取

StorageUtil.getJsonObject(KEY_LOCAL_USER_INFO).then(data=>{console.log(data))}

清除

StorageUtil.remove(KEY_LOCAL_USER_INFO)

文档

React Native AsyncStorage本地存储工具类

React Native AsyncStorage本地存储工具类:利用react-native组件AsyncStorage,通过promise,保存本地数据,具体内容如下 import {AsyncStorage} from 'react-native'; export default class StorageUtil { /** * 保存一个Json对象 * @param key * @par
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top