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的更多相关文章

  1. React Native之图片保存到本地相册(ios android)

    React Native之图片保存到本地相册(ios android) 一,需求分析 1,react native保存网络图片到相册,iOS端可以用RN自带的CameraRoll完美解决,但是andr ...

  2. React Native之持久化存储(AsyncStorage、react-native-storage)的使用

    AsyncStorage是一个简单的.异步的.持久化的Key-Value存储系统,它对于App来说是全局性的.这是官网上对它的介绍.可以知道,这个asyncstorage也是以键值对的形式进行存储数据 ...

  3. React Native专题

    转载注明出处:地址:http://www.lcode.org本文出自:[江清清的技术专栏]本React Native讲解专题:主要讲解了React Native开发,由基础环境搭建配置入门,基础,进阶 ...

  4. React Native专题-江清清

    本React Native讲解专题:主要讲解了React Native开发,由基础环境搭建配置入门,基础,进阶相关讲解. 刚创建的React Native交流8群:533435865  欢迎各位大牛, ...

  5. React Native 常用插件案例

    (二).基础入门: 1.React Native For Android环境配置以及第一个实例 2.React Native开发IDE安装及配置 3.React Native应用设备运行(Runnin ...

  6. React Native 开发工具篇

    正文 概述:开发RN的工具有很多,选择性也比较多,比如Facebook专门为React开发的IDE:Nuclide,还有做前端比较熟悉的WebStorm.Sublime Text 3.VS Code等 ...

  7. react native AsyncStorage的使用

    如果现在有一个需求,是要把用户的账号密码保存到本地,大家会怎么做的呢?如果在android中,我相信一大部分人会想到SharedPreferences,这是一个以键值对的形式进行存储的.那如果在rea ...

  8. [RN] React Native 使用 AsyncStorage 存储 缓存数据

    React Native 使用 AsyncStorage 存储 缓存数据 AsyncStorage是一个简单的.异步的.持久化的Key-Value存储系统,它对于App来说是全局性的.这是官网上对它的 ...

  9. 从零学React Native之13 持久化存储

    数据持久化就是指应用程序将某些数据存储在手机存储空间中. 借助native存储 这种方式不言而喻,就是把内容传递给native层,通过原生API存储,详见从零学React Native之05混合开发 ...

随机推荐

  1. PYTHON 内置函数

    bin() #二进制 r = bin(11) print(r) # 0b1011 oct() #八进制 r = oct(14) print(r) #0o16 int() #十进制 r = int(10 ...

  2. canvas简介

    一.canvas简介 1.1 什么是canvas?(了解) 是HTML5提供的一种新标签 <canvas></canvas> 英 ['kænvəs] 美 ['kænvəs] 帆 ...

  3. module 和 module.exports 的区别

    自己理解的不好,推荐一篇文章吧:   http://www.cnblogs.com/pigtail/archive/2013/01/14/2859555.html

  4. caffe_实战之两个简单的例子(物体分类和人脸检测)

    一.物体分类: 这里使用的是caffe官网中自带的例子,我这里主要是对代码的解释~ 首先导入一些必要的库: import caffe import numpy as np import matplot ...

  5. LeetCode 368

    题目描述: Given a set of distinct positive integers, find the largest subset such that every pair (Si, S ...

  6. javase--反射

    //书写规则 package cn.reflex; public interface PCI { public void open(); public void close(); } //调用方法 p ...

  7. python windows时间同步工具

    由于某种原因(BIOS电池没电),电脑的系统时间会与我们的北京时间不同步,将会导致如下问题: 1. 抢火车票的时候已经过时间了 2.别的同事都走了,你还以为没下班 …… 规避问题的方法:同步系统时间 ...

  8. Web GIS离线解决方案

    1.背景 在离线环境下(局域网中)的GIS系统中如何使用地图?这里的地图主要指的是地图底图,有了底图切片数据,我们就可以看到地图,在上面加上自己的业务数据图层,进行相关操作. 要在离线环境下看到GIS ...

  9. SQL Server架构 -- 数据库文件和文件组

    在SQL SERVER中,数据库在硬盘上的存储方式和普通文件在Windows中的存储方式没有什么不同,也是在特定文件夹下创建不同的文件,然后经过文件存储系统去抓取数据信息.理解文件和文件组的概念可以帮 ...

  10. Win10 UI入门 SliderRectangle

    看了@段博琼大哥导航滑动的思路,自己又做了一个类似与黄油相机里面的一个功能 <Grid x:Name="> <Grid.ColumnDefinitions> < ...