React Native AsyncStorage

本文介绍了一个React Native项目中对AsyncStorage的封装实现,包括获取、保存、更新和删除等操作。封装后的存储类简化了对数据的管理和操作,并提供了一种更安全、更便捷的方式来处理应用的数据存储需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ReactNative之本地存储

AsyncStorage 是一个简单的、异步的、持久化的 Key-Value 存储系统,它对于 App 来说是全局性的。它用来代替 LocalStorage。由于它的操作是全局的,官方建议我们最好针对 AsyncStorage 进行一下抽象的封装再使用,而且不是直接拿 AsyncStorage 进行使用。AsyncStorage 存储的位置根据系统的不同而有所差异。iOS 中的存储类似于 NSUserDefault,通过 plist 文件存放在设备中。Android 中会存储在 RocksDB 或者 SQLite 中,取决于你使用哪个。

import  React,{AsyncStorage} from  'react-native';

class  KyAsyncStorage{
    /**
     * 获取
     * @param key
     * @returns {Promise.<TResult>}
     */
    static get(key){
        return AsyncStorage.getItem(key).then((value)=>{
            const  jsonValue = JSON.parse(value);
            return jsonValue;
        }).catch((error)=>{
            console.log(error);
        });
    }


    /**
     * 保存
     * @param key
     * @param value
     * @returns {*|Promise}
     */

    static save(key,value){
        return AsyncStorage.setItem(key,JSON.stringify(value));

    }

    /**
     * 更新
     * @param key
     * @param value
     * @returns {Promise.<TResult>|Promise.<*>|Promise.<U>|*}
     */
    static update(key, value) {
        return DeviceStorage.get(key).then((item) => {
            value = typeof value === 'string' ? value : Object.assign({}, item, value);
            return AsyncStorage.setItem(key, JSON.stringify(value));
        }).catch((error)=>{
            console.log(error);
        });
    }


    /**
     * 删除
     * @param key
     * @returns {*|Promise}
     */
    static delete(key) {
        return AsyncStorage.removeItem(key);
    }


}

export  default  KyAsyncStorage;


 
复制代码

转载于:https://juejin.im/post/5a332fd7f265da43176a2e26

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值