ReactNative之本地存储
2017-05-17 本文已影响2643人
袁峥
前言
眼看很多公司都开始尝试使用ReactNative,达到跨平台开发,最近也写了很多文章,希望让更多想了解的同学快速上手ReactNative.
如果喜欢我的文章,可以关注我微博:袁峥Seemygo
ReactNative之本地存储
- 在RN开发中,如何持久化存储数据,可以使用AsyncStorage,对原生的API进行了一层封装,通过它,就能把数据保存到真机中。
AsyncStorage使用
- 存储
- 注意:`AsyncStorage``只能存储字符串,需要把对象转换为字符串才行
save(){
var object = {
name:'xmg',
age:18
};
// JSON.stringify(object): JSON对象转换为字符串 用来存储
AsyncStorage.setItem('object',JSON.stringify(object),(error)=>{
if (error) {
alert('存储失败');
} else {
alert('存储成功');
}
});
}
- 读取
read(){
AsyncStorage.getItem('object',(error,result)=>{
if (!error) {
console.log(result);
}
})
}
- 删除
delete(){
AsyncStorage.removeItem('object',(error)=>{
if (error) {
alert('删除失败');
} else {
alert('删除成功');
}
});
}
AsyncStorage原理:
- AsyncStorage存储数据,在iOS中,底层会把数据保存到沙盒中的Documents中,并生成manifest.json文件。保存的数据都在manifest.json中。
- AsyncStorage删除数据,也仅仅是删除manifest.json文件中的数据,并不是删除manifest.json文件
![Uploading 删除数据_712538.png . . .]