ストレージユーティリティ

Named stateが保存されているか確認し、実際のストレージと保存キー情報を照会します。


hasRxState

nameとストレージオプションを指定して、該当位置に値が存在するかをbooleanで確認します。

ts
const exists = await hasRxState("count", {
  storage: "sessionstorage",
});
// boolean

findRxStateStorages

nameのみを渡すと、値が確認された実際のストレージバックエンドを重複なしで配列で返します。autoで保存した値も結果では実際に選択されたバックエンドで返されます。

ts
const storages = await findRxStateStorages("count");
// RxStateResolvedStorage[]
// 예: ["indexeddb", "localstorage", "sessionstorage"]

getRxStateStorageInfo

確認された保存位置を常に配列で返します。同じnameが複数のストレージや異なるname/storeName/keyPrefix設定に存在する場合、それぞれ別項目として返されます。2番目の引数にストレージオプションを渡すと、その条件で照会できます。

ts
const infos = await getRxStateStorageInfo("count");

const indexedDbInfos = await getRxStateStorageInfo("count", {
  storage: "indexeddb",
});
// RxStateStorageInfo[]
ts
interface RxStateStorageInfo {
  key: string;
  storageKey: string;
  fullKey: string;
  storage: RxStateResolvedStorage;
  name: string;
  storeName: string;
  keyPrefix: string;
}

storageKeyはストレージに渡されるアイテムキーで、fullKeyはlocalStorageのようにフラットキーを露出するバックエンドで確認できる全体のキーです。ストレージにはautoではなく実際のバックエンドが返されます。

実際の動作テスト

下のボタンで同じテストキーを複数のストレージに実際に保存した後、3つのAPIの返り値をすぐに確認できます。

テスト値を保存

同じnameを複数のストレージに保存した後、3つのユーティリティの実際の返り値を確認できます。


照会ストレージ
まだ実行していません。

リデューサーストレージユーティリティ

リデューサーも同様にhasRxReducer、findRxReducerStorages、getRxReducerStorageInfoを提供します。

ts
await hasRxReducer("cart", { storage: "sessionstorage" });
await findRxReducerStorages("cart");
await getRxReducerStorageInfo("cart");
await getRxReducerStorageInfo("cart", { storage: "indexeddb" });
© 2026 Byeolnaerim. 無断転載を禁じます。紹介プライバシーポリシー