Storage Utilities

Named state가 저장되어 있는지 확인하고, 실제 storage와 저장 key 정보를 조회합니다.


hasRxState

name과 storage options를 지정해 해당 위치에 값이 존재하는지 boolean으로 확인합니다.

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

findRxStateStorages

name만 전달하면 값이 확인된 실제 storage backend를 중복 없이 배열로 반환합니다. auto로 저장한 값도 결과에서는 실제 선택된 backend로 반환됩니다.

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

getRxStateStorageInfo

확인된 저장 위치를 항상 배열로 반환합니다. 같은 name이 여러 storage나 서로 다른 name/storeName/keyPrefix 설정에 존재하면 각각 별도 항목으로 반환됩니다. 두 번째 인자로 storage options를 넘기면 해당 조건으로 조회할 수 있습니다.

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는 storage에 전달되는 item key이고, fullKey는 localStorage처럼 flat key를 노출하는 backend에서 확인할 수 있는 전체 key입니다. storage에는 auto가 아니라 실제 backend가 반환됩니다.

실제 동작 테스트

아래 버튼으로 같은 테스트 key를 여러 storage에 실제 저장한 뒤 세 API의 반환값을 바로 확인할 수 있습니다.

테스트 값 저장

같은 name을 여러 storage에 저장한 뒤 세 유틸리티의 실제 반환값을 확인할 수 있습니다.


조회 storage
아직 실행하지 않았습니다.

Reducer storage utilities

Reducer도 같은 방식으로 hasRxReducer, findRxReducerStorages, getRxReducerStorageInfo를 제공합니다.

ts
await hasRxReducer("cart", { storage: "sessionstorage" });
await findRxReducerStorages("cart");
await getRxReducerStorageInfo("cart");
await getRxReducerStorageInfo("cart", { storage: "indexeddb" });
© 2026 Byeolnaerim. All rights reserved.소개개인정보처리방침