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);
}