smolter
Types

Snapshot

The router store state.

Compatibility

ReactAvailable in this renderer's browser integration.
React SSRAvailable to this renderer's SSR integration; browser event handlers run after hydration.
PreactAvailable in this renderer's browser integration.
Preact SSRAvailable to this renderer's SSR integration; browser event handlers run after hydration.

Import from @kasperrt/smolter/react @kasperrt/smolter/preact

Signature

interface Snapshot {
  url: string;
  path?: string;
  params: Params;
  data?: unknown;
  /** Whether this route has completed a loader, including an undefined result. */
  loaded?: boolean;
  actionData?: unknown;
  error?: Error;
  state: "idle" | "loading" | "submitting";
}

Usage

The router store state. url is absolute; path is the registered pattern. data is the loader result and actionData is the navigating action result. loaded distinguishes a successful undefined result from an unfinished initial load. Treat snapshots as immutable.

const snapshot = router.getSnapshot();
const hydration = serialize(snapshot);

Fields

url

url: string;

path

path?: string;

params

params: Params;

data

data?: unknown;

loaded

loaded?: boolean;

Whether this route has completed a loader, including an undefined result.

actionData

actionData?: unknown;

error

error?: Error;

state

state: "idle" | "loading" | "submitting";
View implementation ↗