×

ReactNative之本地存储

96
袁峥
2017.05.17 15:38* 字数 246

前言

眼看很多公司都开始尝试使用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中。
存储文件路径.png
存储数据.png
  • AsyncStorage删除数据,也仅仅是删除manifest.json文件中的数据,并不是删除manifest.json文件

![Uploading 删除数据_712538.png . . .]

日记本
Web note ad 1