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