as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持

react-native-async-storage

react-native-async-storage

@amazon-devices/react-native-async-storage__async-storagereact-native-async-storage/async-storage的扩展,后者使其可在适用于Vega的React Native应用中使用。该库支持用于适用于Vega的React Native应用的异步、未加密、持久性键值存储系统,并且可用于TypeScript和JavaScript。

此库由系统部署,可供适用于Vega的React Native应用使用,无需单独的安装过程。此库作为自动链接库进行部署,您的应用在运行时会链接到该库。该库保证仅与为之构建的适用于Vega的React Native版本兼容。

升级应用的适用于Vega的React Native版本时,可以考虑升级其库依赖关系的最佳实践。

安装库

  1. package.json文件中添加JavaScript库依赖项。选择适用于您的React Native版本的选项卡。


    已复制到剪贴板。

     "dependencies": {
          ...
          "@react-native-async-storage/async-storage": "npm:@amazon-devices/react-native-async-storage__async-storage@~2.0.0"
     },
     "overrides": {
       "@react-native-async-storage/async-storage": "npm:@amazon-devices/react-native-async-storage__async-storage@~2.0.0"
     }
    

    已复制到剪贴板。

     "dependencies": {
          ...
          "@react-native-async-storage/async-storage": "npm:@amazon-devices/react-native-async-storage__async-storage@~2.1.0"
     },
     "overrides": {
       "@react-native-async-storage/async-storage": "npm:@amazon-devices/react-native-async-storage__async-storage@~2.1.0"
     }
    
  2. 使用npm install命令重新安装package-lock.json文件。

示例

存储数据

存储字符串值

已复制到剪贴板。

import React from "react";
import AsyncStorage from '@react-native-async-storage/async-storage';

const storeData = async (value) => {
  try {
    await AsyncStorage.setItem('my-key', value);
  } catch (e) {
    // 保存时出错
  }
};

存储对象值

已复制到剪贴板。

import AsyncStorage from '@react-native-async-storage/async-storage';

const storeData = async (value) => {
  try {
    const jsonValue = JSON.stringify(value);
    await AsyncStorage.setItem('my-key', jsonValue);
  } catch (e) {
    // 保存时出错
  }
};

读取数据

读取字符串值

已复制到剪贴板。

import AsyncStorage from '@react-native-async-storage/async-storage';

const getData = async () => {
  try {
    const value = await AsyncStorage.getItem('my-key');
    if (value !== null) {
      // 之前存储的值
    }
  } catch (e) {
    // 读取值时出错
  }
};

读取对象值

已复制到剪贴板。

import AsyncStorage from '@react-native-async-storage/async-storage';

const getData = async () => {
  try {
    const jsonValue = await AsyncStorage.getItem('my-key');
    return jsonValue != null ? JSON.parse(jsonValue) : null;
  } catch (e) {
    // 读取值时出错
  }
};

API参考

属性 描述 默认值
getItem 获取给定键的字符串值。此函数可以返回现有键的字符串值,否则返回null。为了存储对象值,必须对其进行反序列化,例如使用JSON.parse()。

注意(旧版):您可以使用可选的回调作为返回Promise的替代方案。
(无)
setItem 为给定键设置字符串值。此操作可以修改现有条目(如果对于给定键已存在),或者添加新条目(如果未存在)。为了存储对象值,必须对其进行序列化,例如使用JSON.stringify()。

注意(旧版):您可以使用可选的回调作为返回Promise的替代方案。
(无)
mergeItem 将存储在键下的现有值与新值合并,同时假设两个值都是字符串化的JSON。 (无)
removeItem 删除键的项目,完成后调用(可选)回调。 (无)
getAllKeys 返回您的应用已知的所有调用者、库等的所有键。完成后,调用带有错误(如果有)和键数组的回调。 (无)
multiGet 批量获取给定键数组的多个键值对。完成后,调用带有错误(如果有)和结果的回调。 (无)
multiSet 批量存储多个键值对。完成后,将调用出现错误的回调。 (无)
multiMerge 批量多次合并现有值和新值。假设值是字符串化的JSON。完成后,调用带错误(如果有)的回调。 (无)
multiRemove 批量清除给定键数组的多个键值条目。完成后,调用带错误(如果有)的回调。 (无)
clear 删除所有客户端、库等的整个AsyncStorage数据。您可能希望使用removeItem或multiRemove来仅清除应用的键。 (无)
useAsyncStorage 注意:​ 一个类似挂钩的实验性接口。为了充分利用挂钩API,此接口将来会更改,因此请随时关注相关讨论以了解更多信息。

useAsyncStorage挂钩返回一个对象,该对象公开可让您与存储的值进行交互的所有方法。

有关更多详细信息和用法示例,请参阅react-native-async-storage/async-storage库的文档(仅提供英文版)。

支持的版本

NPM程序包版本 Vega SDK版本 Vega OS版本 React Native版本
2.0.1758683737 0.23及更早版本 操作系统1.1 (1401010009820)及更早版本 0.72
~2.1.0 0.24 操作系统1.2 (2101020054720) 0.72、0.83

其他资源

有关其他库的信息,请参阅支持的第三方库和服务


Last updated: 2026年7月10日