React Native使用AsyncStorage本地持久化
AsyncStorage
AsyncStorage是一个简单的,未加密的,异步的,持久化,关键值存储系统,是全局的。类似于iOS中的NSUserDefault.
存值:
import {
AppRegistry,
StyleSheet,
Text,
View,
AsyncStorage
} from 'react-native';
try {
AsyncStorage.setItem(
'key',
'shaoting',
(error)=>{
if (error){
alert('存值失败:',error);
}else{
alert('存值成功!');
}
}
);
} catch (error){
alert('失败'+error);
}
取值:
try {
AsyncStorage.getItem(
'key',
(error,result)=>{
if (error){
alert('取值失败:'+error);
}else{
alert('取值成功:'+result);
}
}
)
}catch(error){
alert('失败'+error);
}
移除值:
try {
AsyncStorage.removeItem(
'key',
(error)=>{
if(!error){
alert('移除成功');
}
}
)
}catch (error){
alert('失败',+error);
}
},
完整代码:
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
AsyncStorage
} from 'react-native';
var Mine = React.createClass({
render() {
return (
<View style={styles.container}>
<Text onPress={this.saveData} style={styles.welcome}>
存值:key='key',存shaoting
</Text>
<Text onPress={this.getValue} style={styles.welcome}>
取值
</Text>
<Text onPress={this.removeData} style={styles.welcome}>
删除数据
</Text>
</View>
);
},
saveData(){
try {
AsyncStorage.setItem(
'key',
'shaoting',
(error)=>{
if (error){
alert('存值失败:',error);
}else{
alert('存值成功!');
}
}
);
} catch (error){
alert('失败'+error);
}
},
getValue(){
try {
AsyncStorage.getItem(
'key',
(error,result)=>{
if (error){
alert('取值失败:'+error);
}else{
alert('取值成功:'+result);
}
}
)
}catch(error){
alert('失败'+error);
}
},
removeData(){
try {
AsyncStorage.removeItem(
'key',
(error)=>{
if(!error){
alert('移除成功');
}
}
)
}catch (error){
alert('失败',+error);
}
},
});
var styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor:'white',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
}
});
module.exports = Mine;
运行效果:

React Native使用AsyncStorage本地持久化的更多相关文章
- [RN] React Native 使用 AsyncStorage 存储 缓存数据
React Native 使用 AsyncStorage 存储 缓存数据 AsyncStorage是一个简单的.异步的.持久化的Key-Value存储系统,它对于App来说是全局性的.这是官网上对它的 ...
- React Native Android增加本地图片
将图片文件 UePbdph.png 放入与index.android.js的同目录中,在index.android.js中引入: <Image source={require('./UePbdp ...
- react native 之 AsyncStorage
新版本中不时从react-native导入了,而是 react-native-async-storage 使用static setItem(key: string, value: string, [c ...
- React Native之持久化存储(AsyncStorage、react-native-storage)的使用
AsyncStorage是一个简单的.异步的.持久化的Key-Value存储系统,它对于App来说是全局性的.这是官网上对它的介绍.可以知道,这个asyncstorage也是以键值对的形式进行存储数据 ...
- react native AsyncStorage的使用
如果现在有一个需求,是要把用户的账号密码保存到本地,大家会怎么做的呢?如果在android中,我相信一大部分人会想到SharedPreferences,这是一个以键值对的形式进行存储的.那如果在rea ...
- React Native之数据存储技术AsyncStorage
1. 如何将数据存储到本地? 数据存储是开发APP必不可少的一部分,比如页面缓存,从网络上获取数据的本地持久化等,那么在RN中如何进行数据存储呢? RN官方推荐我们在RN中使用AsyncStorage ...
- 从零学React Native之13 持久化存储
数据持久化就是指应用程序将某些数据存储在手机存储空间中. 借助native存储 这种方式不言而喻,就是把内容传递给native层,通过原生API存储,详见从零学React Native之05混合开发 ...
- React Native之图片保存到本地相册(ios android)
React Native之图片保存到本地相册(ios android) 一,需求分析 1,react native保存网络图片到相册,iOS端可以用RN自带的CameraRoll完美解决,但是andr ...
- React Native之本地文件系统访问组件react-native-fs的介绍与使用
React Native之本地文件系统访问组件react-native-fs的介绍与使用 一,需求分析 1,需要将图片保存到本地相册: 2,需要创建文件,并对其进行读写 删除操作. 二,简单介绍 re ...
随机推荐
- Auty自动化测试框架第二篇——读取与执行脚本列表
[本文出自天外归云的博客园] 在Auty中的文件结构,lib目录下的read_selection.py和execute_selection.py文件:
- openvpn之搭建配置
一.openvpn原理 openvpn通过使用公开密钥(非对称密钥,加密解密使用不同的key,一个称为Publice key,另外一个是Private key)对数据进行加密的.这种方式称为TLS加密 ...
- didFinishLaunchingWithOptions
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launc ...
- INPUT只能输入数字
input只能输入数字: (只能输入数字,并且输入的值不能大于99),但是这样有个问题,就是当输入非数字字符时,输入框中所有的字符都会被清除 <input type="text&quo ...
- Android Studio 简单设置
转自:http://ask.android-studio.org/?/article/14 界面设置 默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面.Settings - ...
- Json2JsonArray JsonArray2StringArray
public String[] json2JsonArray(String str){ JSONArray jsonArray = JSONArray.fromObject(str); String[ ...
- 浅谈AJAX的基本原理和原生AJAX的基础用法
一.什么是AJAX? AJAX,即"Asynchronous Javascript And XML",翻译为异步的JavaScript和XML,是一种创建交互式网页应用的网页开发技 ...
- Django1.9开发博客(13)- redis缓存
Redis 是一个高性能的key-value数据库.redis的出现, 很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用. 它提供了Pyth ...
- vue学习笔记之属性和方法
每个Vue都会代理其data对象里所有的属性:只有这些被代理的属性是响应的.如果在实例创建之后添加新的属性到实例上,它不会触发视图更新.例子: <script type="text/j ...
- 20150207读书笔记<深入理解计算机系统2-1>
第二章 信息存储 (1) 多数计算机以一个字节作为最小可寻址的存储器单元. 机器级程序将存储器看成一个非常大的字节数组,称为虚拟存储器. 存储器的每个字节都由唯一的数字标识,称为它的地址. 所有可能 ...