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 ...
随机推荐
- SourceTree 免登录跳过初始设置
SourceTree 安装之后需要使用账号登陆以授权,以前是可以不登陆的,但是现在是强制登陆. 虽然是免费授权,但是碰上不可抗力因素,登陆不是很方便,这里记录一下跳过这个初始化的步骤. 安装之后,转到 ...
- spring schedule
spring-scheduler.xml文件内容如下: <?xml version="1.0" encoding="UTF-8"?><bean ...
- ggplot2.multiplot:将多个图形使用GGPLOT2在同一页上
一页多图 介绍 ggplot2.multiplot是一个易于使用的功能,将多个图形在同一页面上使用R统计软件和GGPLOT2绘图方法.这个功能是从easyGgplot2包. 安装并加载easyGgpl ...
- [问题2014S03] 解答
[问题2014S03] 解答 设 \(A\) 的 \(n\) 个特征值分别为 \(\lambda_1,\lambda_2,\cdots,\lambda_n\), 由条件知它们都是不等于零的实数. 根 ...
- oracle mysql sqlserver数据库中的分页
oracle: select * from (select rownum r,t1.* from tablename t1 where rownum <M+N ) t2 where t2.r&g ...
- select框内容的编辑、修改、添加、删除操作
// 添加 function col_add() { var selObj = $("#mySelect"); var value="value"; var t ...
- Linux下环境变量设置
分类 Linux下的环境变量按生存周期来划分,可以划分为两种: 1)永久的:需要修改配置文件, 变量永久生效 2)临时的:直接在终端使用export命令声明即可,但是关闭shell后失效. 设置方法 ...
- 纯css3圆角下拉菜单 都没敢用js
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- == 区别 equals
==操作符专门用来比较值是否相等 int a=10; int b=10; 则 a==b, 返回 true. 但是, String a = new String("foo"); St ...
- C#_批量插入数据到Sqlserver中的四种方式
先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的是GUID,表中没有创建任何索引.GUID必然是比自增长要快的,因为你生成一个GUID算法所花的时间肯定比你从数据表中重新查询上一条记 ...