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库依赖项。"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日

