React Native之AsyncStorage
2017-06-05 10:55
429 查看
React Native 学习资源精选仓库
AsyncStorage官网
React Native 每日一学(Learn a little every day)
React Native - 持久化存储(AsyncStorage)的使用详解
AsyncStorage是一个简单的、异步的、持久化的Key-Value存储系统,它对于App来说是全局性的。它用来代替LocalStorage。
我们在AsyncStorage的基础上做一层抽象封装,而不是直接使用AsyncStorage。
AsyncStorage是不支持sql的,AsyncStorage是Key-Value存储系统。
方法
static multiGet()
获取keys所包含的所有字段的值,调用callback回调函数时返回一个key-value数组形式的数组。返回一个Promise对象。
multiGet([‘k1’, ‘k2’], cb) -> cb([[‘k1’, ‘val1’], [‘k2’, ‘val2’]])
AsyncStorage官网
React Native 每日一学(Learn a little every day)
React Native - 持久化存储(AsyncStorage)的使用详解
AsyncStorage是一个简单的、异步的、持久化的Key-Value存储系统,它对于App来说是全局性的。它用来代替LocalStorage。
我们在AsyncStorage的基础上做一层抽象封装,而不是直接使用AsyncStorage。
AsyncStorage是不支持sql的,AsyncStorage是Key-Value存储系统。
方法
'use strict'; import {AsyncStorage} from 'react-native'; class EKVData{ //setItem:保存数据。 //将key字段的值设置成value,并在完成后调用callback函数。如果有任何错误发生,则会传递一个Error对象作为第一个参数。返回一个Promise对象。 static setData(key, value) { return new Promise((resolve, reject) => { AsyncStorage.setItem(key, JSON.stringify(value), (error)=>{ if(!error) resolve('操作成功'); else reject('操作失败'); }); }); } //getItem:查询key。 //读取key字段并将结果作为第二个参数传递给callback。如果有任何错误发生,则会传递一个Error对象作为第一个参数。返回一个Promise对象。 static getData(key) { return new Promise((resolve, reject) => { AsyncStorage.getItem(key, (error, result) => { if(!error){ if(result){ resolve(result); }else{ reject(null); } }else{ reject(null); } }); }); } //removeItem:删除一个字段。返回一个Promise对象。 static removeData(key) { return new Promise((resolve, reject)=>{ AsyncStorage.removeItem(key, (error)=>{ if(!error) resolve('操作成功'); else reject('操作失败'); }); }); } } module.exports = EKVData;
static multiGet()
获取keys所包含的所有字段的值,调用callback回调函数时返回一个key-value数组形式的数组。返回一个Promise对象。
multiGet([‘k1’, ‘k2’], cb) -> cb([[‘k1’, ‘val1’], [‘k2’, ‘val2’]])
AsyncStorage.multiGet(keys, (err, stores) => { try { //map方法三个参数:当前正在遍历的元素, 元素索引, 原数组本身. stores.map((result, i, store) => { // get at each store's key/value so you can work with it let key = store[i][0]; let value = store[i][1]; if (value)items.push(JSON.parse(value)); }); resolve(items); } catch (e) { reject(e); } });
相关文章推荐
- react-native 使用AsyncStorage实现长登陆
- React Native AsyncStorage本地存储工具类
- React-Native中AsyncStorage的用法
- react-native AsyncStorage 数据持久化方案
- ReactNative(API)AsyncStorage存储
- 《React-Native系列》28、 RN之AsyncStorage
- React Native之AsyncStorage
- React-Native AsyncStorage setNativeProps
- React-Native AsyncStorage使用
- ReactNative (API)AsyncStorage存储详解及实例
- react native AsyncStorage 使用详解
- React-native 之 AsyncStorage学习
- react native AsyncStorage的使用 单选,多选
- React-Native学习笔记之:AsyncStorage数据存取操作
- React Native AsyncStorage本地存储工具类
- 《React-Native系列》28、 RN之AsyncStorage
- React-Native AsyncStorage setNativeProps
- react native AsyncStorage
- react-native之AsyncStorage
- react-native-AsyncStorage<持久化数据存储>