首先看看官网对AsyncStorage的定义:
AsyncStorage是一个简单的、异步的、持久化的Key-Value存储系统,它对于App来说是全局性的。它用来代替LocalStorage。
LocalStorage是什么呢?
在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题
目前React项目中也是使用LocalStorage
我们注意到一个非常关键的词:异步。这也是我在项目中遇到的问题。
当我们在ComponentWillMount()中使用使用AsyncStorage获取本地数据的时候,由于是一个异步的过程导致界面加载的时候,某些数据还未获取到,但是已经被界面用到了。
我的错误的例子:
这里写代码片
简单的方法
注意:`AsyncStorage“只能存储字符串,需要把对象转换为字符串才行
save() {
var object = {username: 'li',id: '654321654321'};
// JSON.stringify(object): JSON对象转换为字符串 用来存储
AsyncStorage.setItem('object',JSON.stringify(object),(error) => { if (error) { alert('失败'); } else { alert('成功'); } }); }
read(){
AsyncStorage.getItem('object',(error,result)=>{ if (error) { alert('失败'); } else { alert('成功'); } }) }
delete(){
AsyncStorage.removeItem('object',(error)=>{ if (error) { alert('失败'); } else { alert('成功'); } }); }
其他方法请移步API
本文重点!!!!!!!!使用封装的react-native-storage模块
功能强大、好用、清晰、
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。