as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
Ring
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート

react-native-async-storage

react-native-async-storage

@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のバージョンをアップレベルするときは、ライブラリの依存関係をアップレベルするベストプラクティスを検討してください。

ライブラリのインストール

  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 注: フックに似た試験的なインターフェイス。このインターフェースは、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日