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小时内与您取得联系。