ReactNative——數據存儲AsyncStorage

首先看看官網對AsyncStorage的定義:

AsyncStorage是一個簡單的、異步的、持久化的Key-Value存儲系統,它對於App來說是全局性的。它用來代替LocalStorage。


LocalStorage是什麼呢?

在HTML5中,新加入了一個localStorage特性,這個特性主要是用來作爲本地存儲來使用的,解決了cookie存儲空間不足的問題

目前React項目中也是使用LocalStorage


我們注意到一個非常關鍵的詞:異步。這也是我在項目中遇到的問題。

當我們在ComponentWillMount()中使用使用AsyncStorage獲取本地數據的時候,由於是一個異步的過程導致界面加載的時候,某些數據還未獲取到,但是已經被界面用到了。

我的錯誤的例子:

這裏寫代碼片

簡單的方法

注意:`AsyncStorage“只能存儲字符串,需要把對象轉換爲字符串才行

save() {
        var object = {username: 'li', id: '654321654321'};
        // JSON.stringify(object): JSON對象轉換爲字符串 用來存儲 
        AsyncStorage.setItem('object', JSON.stringify(object), (error) => {
            if (error) {
                alert('失敗');
            } else {
                alert('成功');
            }
        });
    }

  read(){
        AsyncStorage.getItem('object',(error,result)=>{
            if (error) {
                alert('失敗');
            } else {
                alert('成功');
            }
        })
    }
 delete(){
        AsyncStorage.removeItem('object',(error)=>{
            if (error) {
                alert('失敗');
            } else  {
                alert('成功');
            }
        });
    }

其他方法請移步API

本文重點!!!!!!!!使用封裝的react-native-storage模塊

功能強大、好用、清晰、

發佈了172 篇原創文章 · 獲贊 74 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章