全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

react-native中AsyncStorage实例详解

react-native中AsyncStorage实例详解

AsyncStorage是一个简单的,具有异步特性的储存API,它的储存方式为键值对的方式,且对整个App而言,是全局的。

AsyncStorage提供了较全的方法供我们使用,每个方法都有一个回调函数,而回调函数的第一个参数都是错误对象error,所有的方法执行之后都会返回一个Promise对象。

方法:

static getItem(key: string, callback?: ?(error: ?Error, result: ?string) => void) 

读取key字段并将结果作为第二个参数传递给callback。如果有任何错误发生,则会传递一个Error对象作为第一个参数。返回一个Promise对象。

static setItem(key: string, value: string, callback?: ?(error: ?Error) => void) 

将key字段的值设置成value,并在完成后调用callback函数。如果有任何错误发生,则会传递一个Error对象作为第一个参数。返回一个Promise对象。

static removeItem(key: string, callback?: ?(error: ?Error) => void) 

删除一个字段。返回一个Promise对象。

static mergeItem(key: string, value: string, callback?: ?(error: ?Error) => void) 

假设已有的值和新的值都是字符串化的JSON,则将两个值合并。返回一个Promise对象。还没有被所有原生实现都支持。

static clear(callback?: ?(error: ?Error) => void) 

删除全部的AsyncStorage数据,不论来自什么库或调用者。通常不应该调用这个函数——使用removeItem或者multiRemove来清除你自己的key。返回一个Promise对象。

static getAllKeys(callback?: ?(error: ?Error, keys: ?Array<string>) => void) 

获取所有本应用可以访问到的数据,不论来自什么库或调用者。返回一个Promise对象。

static flushGetRequests() 

清除所有进行中的查询操作。

static multiGet(keys: Array<string>, callback?: ?(errors: ?Array<Error>, result: ?Array<Array<string>>) => void) 

获取keys所包含的所有字段的值,调用callback回调函数时返回一个key-value数组形式的数组。返回一个Promise对象。

multiGet(['k1', 'k2'], cb) -> cb([['k1', 'val1'], ['k2', 'val2']])

static multiSet(keyValuePairs: Array<Array<string>>, callback?: ?(errors: ?Array<Error>) => void) 

multiSet和multiMerge都接受一个与multiGet输出值一致的key-value数组的数组。返回一个Promise对象。

multiSet([['k1', 'val1'], ['k2', 'val2']], cb);

static multiRemove(keys: Array<string>, callback?: ?(errors: ?Array<Error>) => void) 

删除所有键在keys数组中的数据。返回一个Promise对象。

static multiMerge(keyValuePairs: Array<Array<string>>, callback?: ?(errors: ?Array<Error>) => void) 

将多个输入的值和已有的值合并,要求都是字符串化的JSON。返回一个Promise对象。

还没有被所有原生实现都支持。

小例子:

import React from 'react';
import {View,StyleSheet,Text,AsyncStorage} from 'react-native';

export default class Root extends React.Component{
 constructor(props){
 super(props);
 this.set = this.set.bind(this);
 this.get = this.get.bind(this);
 this.clear = this.clear.bind(this);
 }
 //渲染
 render(){

 return (
  <View style = {style.container}>
  <Text onPress = {this.set}>储存数据</Text>
  <Text style = {{marginTop: 10}} onPress = {this.get}>
   获取数据
  </Text>
  <Text style = {{marginTop: 10}} onPress = {this.clear}>
   清除数据
  </Text>
  </View>
 );
 }
 set(){
 AsyncStorage.setItem('name','gefufeng',(error) => {
  if (error) {
  alert("储存失败");
  }else{
  alert("储存成功");
  }
 });
 }
 get(){
 AsyncStorage.getItem('name',(error,result) => {
  if (error) {
  alert("获取失败");
  }else{
  alert("数据为:" + result);
  }
 });
 }
 clear(){
 AsyncStorage.removeItem('name',(error) => {
  if (!error) {
  alert("清除成功");
  }
 });
 }
}
const style = StyleSheet.create({
 container : {
 flex: 1,
 alignItems: 'center',
 justifyContent: 'center',
 backgroundColor : "#F5FCFF"
 }

});

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# react-native中AsyncStorage  # react-native中AsyncStorage详解  # ReactNative (API)AsyncStorage存储详解及实例  # React Native AsyncStorage本地存储工具类  # 都是  # 第一个  # 回调  # 还没有  # 则会  # 自己的  # 是一个  # 有任何  # 都有  # 多个  # 调用者  # 并在  # 希望能  # 第二个  # 并将  # 谢谢大家  # 键值  # 则将  # 设置成  # 所包含 


相关文章: 电商网站制作公司有哪些,1688网是什么意思?  如何规划企业建站流程的关键步骤?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  高性价比服务器租赁——企业级配置与24小时运维服务  建站之星导航菜单设置与功能模块配置全攻略  建站之星微信建站一键生成小程序+多端营销系统  如何在云主机上快速搭建网站?  建站之星如何开启自定义404页面避免用户流失?  如何快速使用云服务器搭建个人网站?  制作国外网站的软件,国外有哪些比较优质的网站推荐?  广州营销型建站服务商推荐:技术优势与SEO优化解析  C#怎么使用委托和事件 C# delegate与event编程方法  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  如何零成本快速生成个人自助网站?  如何用花生壳三步快速搭建专属网站?  建站之星云端配置指南:模板选择与SEO优化一键生成  如何基于云服务器快速搭建网站及云盘系统?  个人网站制作流程图片大全,个人网站如何注销?  网站制作公司,橙子建站是合法的吗?  建站之星×万网:智能建站系统+自助建站平台一键生成  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  简历在线制作网站免费版,如何创建个人简历?  如何选择适合PHP云建站的开源框架?  大型企业网站制作流程,做网站需要注册公司吗?  建站之星CMS建站配置指南:模板选择与SEO优化技巧  如何选择网络建站服务器?高效建站必看指南  中山网站推广排名,中山信息港登录入口?  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  建站之星在线客服如何快速接入解答?  如何通过PHP快速构建高效问答网站功能?  如何在腾讯云免费申请建站?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  如何制作一个表白网站视频,关于勇敢表白的小标题?  微信小程序 input输入框控件详解及实例(多种示例)  C++用Dijkstra(迪杰斯特拉)算法求最短路径  深圳网站制作平台,深圳市做网站好的公司有哪些?  网站app免费制作软件,能免费看各大网站视频的手机app?  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  电商平台网站制作流程,电商网站如何制作?  如何快速上传自定义模板至建站之星?  免费网站制作appp,免费制作app哪个平台好?  建站之星伪静态规则如何设置?  如何在Golang中指定模块版本_使用go.mod控制版本号  建站之星代理费用多少?最新价格详情介绍  存储型VPS适合搭建中小型网站吗?  网站建设设计制作营销公司南阳,如何策划设计和建设网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。