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版本时,可以考虑升级其库依赖关系的最佳实践。
安装库
-
在
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" } -
使用
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日

