react-native-storage安卓機上load無法使用的問題

localStorage.js:

import {AsyncStorage} from 'react-native';
import Storage from 'react-native-storage';
var storage = new Storage({
  // 最大容量,默認值1000條數據循環存儲
  size: 1000,

  // 存儲引擎:對於RN使用AsyncStorage,對於web使用window.localStorage
  // 如果不指定則數據只會保存在內存中,重啓後即丟失
  storageBackend: AsyncStorage,

  // 數據過期時間,默認一整天(1000 * 3600 * 24 毫秒),設爲null則永不過期
  defaultExpires:null,

  // 讀寫時在內存中緩存數據。默認啓用。
  enableCache: true,

  // 如果storage中沒有相應數據,或數據已過期,
  // 則會調用相應的sync方法,無縫返回最新數據。
  // sync方法的具體說明會在後文提到
  // 你可以在構造函數這裏就寫好sync的方法
  // 或是在任何時候,直接對storage.sync進行賦值修改
  // 或是寫到另一個文件裏,這裏require引入
  })
export default storage

在別的頁面中使用localStorage.js的文件先引入:

index.js:

import localStorage from '../tools/localStorage';
var myData = [1,2,3,4,5]

寫入緩存:
localStorage.save({
    key:"hotWords",
    id:1000,
    data: myData,
})


讀取緩存:
localStorage.load({
    key:"hotWords",
    id:1000,
})
.then(res=>{
    console.log(res);  //res = myData;
})


清空緩存
localStorage.remove({
   key:'hotWords',
   id:1000,
});

但是有時候會有在android上localStorage.load() 無法生效的問題,如果你找了一圈還沒有找到問題所在,說明這可能並不是你的代碼的問題,往往是因爲這個插件本身的缺陷造成的

在 項目文件/android/app/src/main/AndroidManifest.xml中添加一下權限代碼:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章