Articoli di programmazione

React Native AsyncStorage: 3 semplici funzioni per usarlo in associazione ai nostri oggetti

React Native mette a disposizione la classe AsyncStorage per persistere i nostri dati. Vediamo un piccolo set di funzioni che ne facilitano l'uso in associazione alla serializzazione e deserializzazione di oggetti

1200px-React-icon.svg.png
AsyncStorage si interfaccia efficacemente con il layer di persistenza del device e, se andiamo oltre iOS ed Android, questa classe funziona molto bene anche con il Browser, se parliamo di react-native-web. Infatti consente di persistere oggetti nel SessionStore e nel LocalStore.
Queste 3 funzioni sono semplici wrapper che si prendono in carico la serializzazione e la deserializzazione da e verso lo storage. In modo rapido e pratico è possibile quindi accedere allo store dell'applicativo direttamente passando o ricevendo il nostro oggetto:


import { AsyncStorage } from 'react-native';

const set = async (key, item) => {
try {
await AsyncStorage.setItem(key, JSON.stringify(item));
} catch (error) {
console.log(error);
}
};

const get = async (key) => {
try {
const value = await AsyncStorage.getItem(key);
if (value !== null) {
return JSON.parse(value);
}
} catch (error) {
console.log(error);
}
return null;
};

const remove = async (key) => {
await AsyncStorage.removeItem(key);
}