2015-11-18 10 views
7

Szukam sposobu przechowywania obiektów i tablic danych lokalnie w React Native. Jak to zrobić? Patrząc na API dla AsyncStorage:Jak przechowywać dane lokalnie w React Native, który nie jest ciągiem znaków

statyczny setItem (klucz: String, wartość: String, callback ?: (błąd:? Błędu) => void) wartości
Zestawy dla klucza i oddzwaniania na ukończeniu , wraz z błędem, jeśli taki istnieje. Zwraca obiekt obietnicy.

Jak przechowywać obiekty i tablice lokalnie w React Native?

Odpowiedz

16

JSON.stringify ({}) może być użyty do przekształcenia struktury danych w ciąg znaków.

Następnie należy użyć JSON.parse(), aby przekonwertować ciąg z powrotem do oryginalnej struktury danych.

Możesz stworzyć dla niej fajną usługę, aby wyeliminować niektóre kody w całej aplikacji. Użyłem window.localStorage jako "trwałego" miejsca przechowywania w poniższym przykładzie. Dostosuj go według własnego uznania.

var StorageService = function () {}; 

StorageService.prototype.get = function (key) { 
    return JSON.parse(window.localStorage.getItem(key)); 
}; 

StorageService.prototype.set = function (key, value) { 
    return window.localStorage.setItem(key, JSON.stringify(value)); 
}; 
+4

@NaderDabit jeśli nie chcesz się martwić o JSON.stringify i JSON.parse Sugerowałbym [reagować-native prosty sklep] (https://www.npmjs.com/package/react-native-simple-store). Odłącza część płyty z AsyncStorage. – jasonmerino

+0

@jasonmerino stary, twój komentarz powinien być najlepszą odpowiedzią. – ProteanDev

+1

Czekaj, przy użyciu komponentu innej firmy powinna być yh zaakceptowana odpowiedź, gdy kilka linii wanilii js wykona zadanie? : / –

Powiązane problemy