Maison > Article > interface Web > Classe d'outils de stockage local React Native AsyncStorage
Cet article partage principalement la classe d'outils de stockage local React Native AsyncStorage pour tout le monde. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer. J'espère qu'il pourra aider tout le monde.
Utilisez le composant réactif natif AsyncStorage pour enregistrer les données locales via des promesses. Le contenu spécifique est le suivant
import {AsyncStorage} from 'react-native'; export default class StorageUtil { /** * 保存一个Json对象 * @param key * @param value * @param callback */ static async saveJsonObject(key, value) { return await this.saveString(key, JSON.stringify(value)); } /** * 获取一个Json对象 * @param key * @param defaultObject */ static async getJsonObject(key, defaultObject) { let result=null; try{ result=await this.getString(key,null); result=await JSON.parse(result); }catch (err){ if(defaultObject){ return Promise.resolve(defaultObject); }else{ return Promise.reject(err); } } return result; } /** * 保存一个值 * @param key * @param value */ static async saveString(key, value) { if (key != null && value != null) { //Key 与Value 都不为空 try { await AsyncStorage.setItem(key, value) } catch (err) { return Promise.reject(err) } return Promise.resolve(true); } else { return Promise.reject({"msg": "Key and value can not be null"}); } } /** * 获取一个值 * @param key * @param defaultValue */ static async getString(key, defaultValue) { let result = null; let noDataError = {"msg": "No value found !"}; if (key != null) { result = await AsyncStorage.getItem(key); // console.log('get string result',result,defaultValue); return result ? result : defaultValue!=null ? defaultValue : Promise.reject(noDataError); } else { if (defaultValue) { return Promise.resolve(defaultValue); } else { return Promise.reject(noDataError); } } } /** * 移除一个值 * @param key */ static async remove(key) { let result = true; try { result = await AsyncStorage.removeItem(key); } catch (err) { return Promise.reject(err) } return result; } /** * 获取所有已存储 */ static async getAllKeys() { let result=true; try { result = await AsyncStorage.getAllKeys(); } catch (err) { return Promise.reject(err) } return result; } }
Appel externe
Enregistrer.
StorageUtil.saveJsonObject(KEY_LOCAL_USER_INFO, user);
Lire
StorageUtil.getJsonObject(KEY_LOCAL_USER_INFO).then(data=>{console.log(data))}
Effacer
StorageUtil.remove(KEY_LOCAL_USER_INFO)
Recommandations associées :
Exemple de stockage local LocalStorage dans html5
HTML5 implémente la fonction de stockage local du panier
Une brève discussion sur le stockage local de localStorage
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!