API-Referenz

Die Hauptfunktionen und Rückgabewerte, die von global-rx-state exportiert werden.


createRxState

Wenn es ein Argument gibt, ist es der anonyme Tupelmodus, und wenn ein Name übergeben wird, ist es der benannte Objektmodus. Der benannte Modus unterstützt Aufrufe innerhalb der Komponente.

ts
// Anonymous tuple mode: module top-level only
const [setCount, getCount, useCount, countSubject, countReady] =
  createRxState(0);

// Named object mode
const { setCount, getCount, useCount, countSubject, countReady } =
  createRxState(0, "count", { storage: "auto" });

createRxStateTuple

Verwenden Sie es, wenn der Name zur Laufzeit bestimmt wird, aber die Reihenfolge der Tupelrückgabe erforderlich ist. Die Speicheroption kann zusammen mit dem benannten Schlüssel verwendet werden.

ts
const [setDraft, getDraft, useDraft, draftSubject, draftReady] =
  createRxStateTuple(
    { content: "" },
    `draft:${tabName}`,
    { storage: "sessionstorage" },
  );

createRxReducer / createRxReducerTuple

ts
const { dispatchCart, getCart, useCart, cartSubject, cartReady } =
  createRxReducer(initialCart, cartReducer, "cart", { storage: "auto" });

const [dispatchFilter, getFilter, useFilter] =
  createRxReducerTuple(
    initialFilterState,
    filterReducer,
    `workspace-filter:${workspaceId}`,
  );

Speicherwerte

RxStateStorage enthält Aliasnamen, die mit Persistenz-Backends kompatibel sind. sessionstorage und sessionStorage verwenden den Browser sessionStorage.

ts
type RxStateStorage =
  | "in-memory"
  | "auto"
  | "indexeddb"
  | "IndexedDB"
  | "websql"
  | "WebSQL"
  | "localstorage"
  | "localStorage"
  | "sessionstorage"
  | "sessionStorage";

type RxStateResolvedStorage =
  | "in-memory"
  | "indexeddb"
  | "websql"
  | "localstorage"
  | "sessionstorage";

interface RxStateStorageOptions {
  storage?: RxStateStorage;
  name?: string;
  storeName?: string;
  keyPrefix?: string;
}

autowählt den möglichen localForage-Treiber in der Reihenfolge IndexedDB, WebSQL, localStorage aus. Im zurückgegebenen Speicher der Abfrage-API wird nicht auto, sondern das tatsächlich ausgewählte Backend zurückgegeben.

Speicherwerkzeuge

Der Speicher von benanntem Zustand und Reducer kann mit drei verschiedenen Werkzeugen überprüft werden.

ts
function hasRxState(
  name: string,
  storageOptions: RxStateStorageOptions,
): Promise<boolean>;

function findRxStateStorages(
  name: string,
): Promise<RxStateResolvedStorage[]>;

function getRxStateStorageInfo(
  name: string,
  storageOptions?: RxStateStorageOptions,
): Promise<RxStateStorageInfo[]>;

hasRxState prüft, ob der angegebene Speicherwert vorhanden ist. findRxStateStorages gibt die tatsächlichen Backend-Werte ohne Duplikate zurück, und getRxStateStorageInfo gibt die bestätigten Speicherorte immer als Array zurück.

ts
interface RxStateStorageInfo {
  key: string;
  storageKey: string;
  fullKey: string;
  storage: RxStateResolvedStorage;
  name: string;
  storeName: string;
  keyPrefix: string;
}

storageKey ist der tatsächliche Item-Schlüssel, und fullKey ist der vollständige Schlüssel, der im Backend sichtbar ist. Wenn der gleiche Name in mehreren Speicher-Einstellungen vorhanden ist, werden auch mehrere Einträge im Ergebnis von getRxStateStorageInfo zurückgegeben.

ts
function hasRxReducer(
  name: string,
  storageOptions: RxStateStorageOptions,
): Promise<boolean>;

function findRxReducerStorages(
  name: string,
): Promise<RxStateResolvedStorage[]>;

function getRxReducerStorageInfo(
  name: string,
  storageOptions?: RxStateStorageOptions,
): Promise<RxStateStorageInfo[]>;
© 2026 Byeolnaerim. Alle Rechte vorbehalten.EinführungDatenschutzrichtlinie