新建AsncStorageDemoPage.js

import React, {Component} from 'react';
import {
StyleSheet,
View,
Text,
Button,
TextInput,
AsyncStorage,
} from 'react-native'; const KEY="save_key";
export default class AsncStorageDemoPage extends Component {
constructor(props){
super(props);
this.state={
showText:''
}
} render(){
const {navigation} = this.props; return (
<View style={styles.container}>
<Text>'FetchDemoPage'</Text> <TextInput
style={styles.input}
onChangeText={text => {
this.value = text;
}}
/> <View style={styles.input_container}>
<Text onPress={()=>{
this.doSave();
}}>存储
</Text> <Text onPress={()=>{
this.doRemove();
}}>删除
</Text> <Text onPress={()=>{
this.getData();
}}>读取
</Text> </View> <Text>
{this.state.showText}
</Text> </View>
);
} doSave(){
//方式1
AsyncStorage.setItem(KEY,this.value,error=>{
error && console.log(error.toString());
});
// //方式2
// AsyncStorage.setItem(KEY,this.value)
// .catch(error=>{
// error && console.log(error.toString());
// });
// //方式3
// try{
// await AsyncStorage.setItem(KEY,this.value);
// }
// catch(error){
// error && console.log(error.toString());
// }
} doRemove(){
//方式1
AsyncStorage.removeItem(KEY,error=>{
error && console.log(error.toString());
}); // //方式2
// AsyncStorage.removeItem(KEY)
// .catch(error=>{
// error && console.log(error.toString());
// });
// //方式3
// try{
// await AsyncStorage.removeItem(KEY);
// }
// catch (error){
// error && console.log(error.toString());
// } } getData(){
//方式1
AsyncStorage.getItem(KEY,(error,value)=>{
this.setState({
showText:value
});
console.log(value);
error && console.log(error.toString);
}); // //方式2
// AsyncStorage.getItem(KEY)
// .then(value=>{
// this.setState({
// showText:value
// });
// console.log(value);
// })
// .catch(error=>{
// error && console.log(error.toString);
// })
// //方式3
// try{
// const value = await AsyncStorage.getItem(KEY);
// this.setState({
// showText:value
// });
// console.log(value);
// }
// catch(error){
// error && console.log(error.toString());
// } } } const styles = StyleSheet.create({
container:{
flex: 1,
backgroundColor:'#F5FCFF', },
text:{
fontSize: 20,
textAlign: 'center',
margin: 10,
},
input:{
height: 30,
//flex: 1,
borderColor: 'black',
borderWidth: 1,
marginRight: 10,
},
input_container:{
flexDirection: 'row',
justifyContent: 'center',
justifyContent: 'space-around',
}
});

react native之使用AsyncStorage 进行数据持久化存储的更多相关文章

  1. iOS数据持久化存储:归档

    在平时的iOS开发中,我们经常用到的数据持久化存储方式大概主要有:NSUserDefaults(plist),文件,数据库,归档..前三种比较经常用到,第四种归档我个人感觉用的还是比较少的,恰恰因为用 ...

  2. iOS开发——数据持久化Swift篇&使用Core Data进行数据持久化存储

    使用Core Data进行数据持久化存储   一,Core Data介绍 1,Core Data是iOS5之后才出现的一个数据持久化存储框架,它提供了对象-关系映射(ORM)的功能,即能够将对象转化成 ...

  3. Swift - 使用Core Data进行数据持久化存储

    一,Core Data介绍 1,Core Data是iOS5之后才出现的一个数据持久化存储框架,它提供了对象-关系映射(ORM)的功能,即能够将对象转化成数据,也能够将保存在数据库中的数据还原成对象. ...

  4. vuex数据持久化存储

    想想好还是说下vuex数据的持久化存储吧.依稀还记得在做第一个vue项目时,由于刚刚使用vue,对vue的一些基本概念只是有一个简单的了解.当涉及到非父子组件之间通信时,选择了vuex.只是后来竟然发 ...

  5. [Xcode 实际操作]七、文件与数据-(14)数据持久化存储框架CoreData的使用:删除CoreData中的数据

    目录:[Swift]Xcode实际操作 本文将演示如何删除数据持久化对象. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //引入数据持 ...

  6. [Xcode 实际操作]七、文件与数据-(13)数据持久化存储框架CoreData的使用:编辑CoreData中的数据

    目录:[Swift]Xcode实际操作 本文将演示如何修改数据持久化对象. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //引入数据持 ...

  7. [Xcode 实际操作]七、文件与数据-(12)数据持久化存储框架CoreData的使用:查找CoreData中的数据

    目录:[Swift]Xcode实际操作 本文将演示如何查找数据持久化对象. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //引入数据持 ...

  8. [Xcode 实际操作]七、文件与数据-(11)数据持久化存储框架CoreData的使用:创建CoreData实体并插入数据

    目录:[Swift]Xcode实际操作 本文将演示[CoreData]数据持久化存储框架的使用. 点击[Create a new Xcode project]创建一个新的项目 ->[Single ...

  9. 转载 -- iOS数据持久化存储

    作者:@翁呀伟呀 授权本站转载 概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方 ...

随机推荐

  1. Java ——集合框架 list lambda set map 遍历方法 数据结构

    本节重点思维导图 集合框架 有序无序:元素放入的顺序与取出的顺序是否一致,一致即为有序,不一致即无序. List:允许重复.有序 ArrayList:长度可变的数组,遍历速度快 LinkedList: ...

  2. 7.安装pycharm----导入Nmap模块----netcat反向shell----metasploitable靶机环境

    安装pycharm www.jetbrains.com/pycharm/ tar -zxvf p补全 ls cd p补全 ls cd bin ls ./pycharm.sh 新建项目 pythonRo ...

  3. 【Linux开发】全面的framebuffer详解

    全面的framebuffer详解 一.FrameBuffer的原理 FrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口. Linux是工作在保护模式下,所以用户态进程是无法象D ...

  4. 决解nginx代理的django项目的admin站点无法访问,和没样式的问题。

    首先我们先解决无法访问admin站点的问题 首先我们先修改一下nginx的配置,添加红色框框的部分. 然后重新启动一下nginx 访问一下admin站点 发现没有样式了. 我们先修改/fast_foo ...

  5. windows系统IO性能测试

    关键词:sql server io测试 下载链接:http://www.onlinedown.net/soft/57364.htm CrystalDiskMark(硬盘检测工具),一个测试你的硬盘或者 ...

  6. 51nod1769 Clarke and math 2

    题目 实际上就是要求\(f*I^k\). 因为\(I^k\)是一个积性函数,所以我们只需要考虑如何求\(I^k(p^a)\). 把这个东西转化成一个长度为\(k\)的序列,每一位是\(\frac{i_ ...

  7. 二、JVM — 垃圾回收

    JVM 垃圾回收 写在前面 本节常见面试题 本文导火索 1 揭开 JVM 内存分配与回收的神秘面纱 1.1 对象优先在 eden 区分配 1.2 大对象直接进入老年代 1.3 长期存活的对象将进入老年 ...

  8. Codeforces - 1096G - Lucky Tickets - NTT

    https://codeforc.es/contest/1096/problem/G 把数组分成前后两半,那么前半部分的各个值的表示方案的平方的和就是答案. 这些数组好像可以dp出来. 一开始设dp[ ...

  9. 通过编写串口助手工具学习MFC过程--(十一)弹出模态型对话框

    通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...

  10. Qt读写Json

    Qt操作Json 1.QJsonDocument 1.详细说明 QJsonDocument类提供了读写JSON文档的方法. QJsonDocument是一个封装了完整JSON文档的类,可以从基于UTF ...