as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
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版本时,最佳实践是同时升级它所依赖的库的版本。

安装库

要安装react-native-async-storage库,请按照下面的说明进行操作。

  1. 在应用的package.json中添加JavaScript库依赖项。

    已复制到剪贴板。

         "dependencies": {
           ...
           "@amazon-devices/react-native-async-storage__async-storage": "~2.0.2+1.23.1", 
           "@react-native-async-storage/async-storage": "1.23.1",
           ...
         }
    
  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 OS内部版本号 Vega SDK版本 发行说明
@amazon-devices/react-native-async-storage__async-storage 2.0.0+2.13.0 OS 1.1 (201010438050) 0.20  

其他资源

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


Last updated: 2025年10月1日