react-native-async-storage
react-native-async-storage库,您应该将其用于使用Vega版本0.8或更高版本构建的任何应用。先前版本的Vega包含React Native API形式的AsyncStorage,在未来的版本中会将其弃用。@amazon-devices/react-native-async-storage__async-storage是react-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库,请按照下面的说明进行操作。
- 在应用的
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", ... } - 使用
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日

