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バージョンとの間でのみ保証されます。
アプリのビルドに使用している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 |
注: フックに似た試験的なインターフェイス。近い将来、Hooks APIを利用するように変更される予定です。詳細については、関連するディスカッションをチェックしてください。 useAsyncStorageフックは、保存されている値の操作を可能にするメソッドをすべて公開するオブジェクトを返します。 |
なし |
詳細と使用例については、react-native-async-storage/async-storageライブラリのドキュメント(英語のみ)を参照してください。
サポートされているバージョン
| パッケージ名 | Amazon 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日

