React-native-storage是在AsyncStorage之上封装的一个缓存操做插件库,刚开始接触这个也遇到了一些问题,在这里简单记录总结一下,碰到了就记下来,持续更新吧
一、安卓下storage的load和save不生效?
部分安卓下默认是不开放storage的处理权限的,所以为了安卓下能正常使用,能够在项目/android/app/src/main/AndroidManifest.xml文件中添加以下代码javascript
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
二、storage去load空内容时逻辑异常?
咱们都是storage的存取返回的都是一个promise对象,咱们能够在then中去处理数据存取以后的逻辑,可是这里有一点须要注意的就是当读取数据失败时自动进入catch部分,这其中就包括找不到数据的状况,就是说当你把一个数据清空了再去load的时候就会进入catch部分,一开始我就是写到了then里面,一直出问题。。。java
global.storage.load({ key: 'netLog' }).then((logs) => { console.log('历史数据存在的时候到这里:', logs) }).catch((err) => { console.log('历史数据为空的时候到这里') });
三、React-native-storage存储格式
React-native-storage自己是key-value形式存储,但使用AsyncStorage时不一样于localStorage的是,这里存储的value能够直接存储对象格式的。存取都不须要作额外的JSON到字符串之间的转换。android