React-native之持久化保存----AsyncStorage
AsyncStorage
AsyncStorage是一个简单的,未加密的,异步的,持久化,关键值存储系统,是全局的。
iOS中存储类似于NSUserDefault,存储问plist文件存放在设备中。
Android中存储会在RocksDB 或者 SQLite 中,哪个可用就用哪个...
存数据
/**
* Sets value for key and calls callback on completion, along with an Error if there is any
*/
setItem( key: string, value: string, callback?: ( error?: Error ) => void ): Promise<string>
e.g
try {
AsyncStorage.setItem(
'key',
'I like to save it.',
(error)=>{
console.log(error);
});
} catch (error) {
// Error saving data
console.log(error);
}
取数据
/**
* Fetches key and passes the result to callback, along with an Error if there is any.
*/
getItem( key: string, callback?: ( error?: Error, result?: string ) => void ): Promise<string>
e.g
try {
AsyncStorage.getItem(
'key',
(error,result)=>{
if (error){
console.log(error);
}
else
{
console.log(result);
}
});
}
catch (error){
console.log(error);
}
删数据
removeItem( key: string, callback?: ( error?: Error ) => void ): Promise<string>
合并数据
/**
* Merges existing value with input value, assuming they are stringified json. Returns a Promise object.
* Not supported by all native implementation
*/
mergeItem( key: string, value: string, callback?: ( error?: Error ) => void ): Promise<string>
清除数据
/**
* Erases all AsyncStorage for all clients, libraries, etc. You probably don't want to call this.
* Use removeItem or multiRemove to clear only your own keys instead.
*/
clear( callback?: ( error?: Error ) => void ): Promise<string>
获得所有的key
/**
* Gets all keys known to the app, for all callers, libraries, etc
*/
getAllKeys( callback?: ( error?: Error, keys?: string[] ) => void ): Promise<string>
通过传入的多个key来获取匹配的value
/**
* multiGet invokes callback with an array of key-value pair arrays that matches the input format of multiSet
*/
multiGet( keys: string[], callback?: ( errors?: Error[], result?: string[][] ) => void ): Promise<string>
通过传入多个键值对一起缓存
/**
* multiSet and multiMerge take arrays of key-value array pairs that match the output of multiGet,
*
* multiSet([['k1', 'val1'], ['k2', 'val2']], cb);
*/
multiSet( keyValuePairs: string[][], callback?: ( errors?: Error[] ) => void ): Promise<string>
删除所有的与key匹配的缓存数据
/**
* Delete all the keys in the keys array.
*/
multiRemove( keys: string[], callback?: ( errors?: Error[] ) => void ): Promise<string>
合并keyvalues
/**
* Merges existing values with input values, assuming they are stringified json.
* Returns a Promise object.
*
* Not supported by all native implementations.
*/
multiMerge( keyValuePairs: string[][], callback?: ( errors?: Error[] ) => void ): Promise<string>
React-native之持久化保存----AsyncStorage的更多相关文章
- React Native之图片保存到本地相册(ios android)
React Native之图片保存到本地相册(ios android) 一,需求分析 1,react native保存网络图片到相册,iOS端可以用RN自带的CameraRoll完美解决,但是andr ...
- React Native之持久化存储(AsyncStorage、react-native-storage)的使用
AsyncStorage是一个简单的.异步的.持久化的Key-Value存储系统,它对于App来说是全局性的.这是官网上对它的介绍.可以知道,这个asyncstorage也是以键值对的形式进行存储数据 ...
- React Native专题
转载注明出处:地址:http://www.lcode.org本文出自:[江清清的技术专栏]本React Native讲解专题:主要讲解了React Native开发,由基础环境搭建配置入门,基础,进阶 ...
- React Native专题-江清清
本React Native讲解专题:主要讲解了React Native开发,由基础环境搭建配置入门,基础,进阶相关讲解. 刚创建的React Native交流8群:533435865 欢迎各位大牛, ...
- React Native 常用插件案例
(二).基础入门: 1.React Native For Android环境配置以及第一个实例 2.React Native开发IDE安装及配置 3.React Native应用设备运行(Runnin ...
- React Native 开发工具篇
正文 概述:开发RN的工具有很多,选择性也比较多,比如Facebook专门为React开发的IDE:Nuclide,还有做前端比较熟悉的WebStorm.Sublime Text 3.VS Code等 ...
- react native AsyncStorage的使用
如果现在有一个需求,是要把用户的账号密码保存到本地,大家会怎么做的呢?如果在android中,我相信一大部分人会想到SharedPreferences,这是一个以键值对的形式进行存储的.那如果在rea ...
- [RN] React Native 使用 AsyncStorage 存储 缓存数据
React Native 使用 AsyncStorage 存储 缓存数据 AsyncStorage是一个简单的.异步的.持久化的Key-Value存储系统,它对于App来说是全局性的.这是官网上对它的 ...
- 从零学React Native之13 持久化存储
数据持久化就是指应用程序将某些数据存储在手机存储空间中. 借助native存储 这种方式不言而喻,就是把内容传递给native层,通过原生API存储,详见从零学React Native之05混合开发 ...
随机推荐
- [每日一记] Python报错 IndentationError: unexpected indent
IndentationError: unexpected indent 代码缩进出现错误 今天这个报错的原因是,早些时候的代码里Tab和空格混起来用了,,,[不是我...是编辑器的锅 不过我已经把Su ...
- CPUID指令简单调用
关于CPUID指令,可以看维基百科的相关介绍 https://en.wikipedia.org/wiki/CPUID 在windows下可以调用__cpuid和__cpuidex这两个函数,__cpu ...
- ajax——CORS跨域调用REST API 的常见问题以及前后端的设置
RESTful架构是目前比较流行的一种互联网软件架构,在此架构之下的浏览器前端和手机端能共用后端接口. 但是涉及到js跨域调用接口总是很头疼,下边就跟着chrome的报错信息一起来解决一下. 假设:前 ...
- 值得推荐的C/C++框架和库
值得推荐的C/C++框架和库 [本文系外部转贴,原文地址:http://coolshell.info/c/c++/2014/12/13/c-open-project.htm]留作存档 下次造轮子前先看 ...
- Java笔记:有啥记啥
构造方法可以初始化,也可以在调用的时候传参 1android需要java什么水平 2java封装
- ASP.NET获取客户端IP地址
public static string GetRealIP() { string ip; try { ...
- hadoop2.6.4 搭建伪分布式
安装jdk1.7 http://www.cnblogs.com/zhangXingSheng/p/6228432.html ------------------------------------- ...
- js的类型及调试下的辨识
<script> var s1 = '11'; var s2 = 11; var s3 = true; console.log("我的类型是"+typeof(s1)+& ...
- Laravel中的日志与上传
PHP中的框架众多,我自己就接触了好几个.大学那会啥也不懂啥也不会,拿了一个ThinkPHP学了.也许有好多人吐槽TP,但是个人感觉不能说哪个框架好,哪个框架不好,再不好的框架你能把源码读上一遍,框架 ...
- locate: can not open `/var/lib/mlocate/mlocate.db': No such file or directory
# locate zabbix locate: can not open `/var/lib/mlocate/mlocate.db': No such file or directory locate ...