RouteModule
The data and rendering exports belonging to a route.
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 RouteModule {
/** Stable identifier for targeted revalidation; defaults to the path. */
id?: string;
default?: unknown;
HydrateFallback?: unknown;
ErrorBoundary?: unknown;
loader?: DataFunction;
action?: DataFunction;
/** Browser read: await the top-level result, retaining nested promises for deferred UI. */
clientLoader?(args: ClientLoaderArgs): unknown;
clientAction?(args: ClientActionArgs): unknown;
shouldRevalidate?: (args: RevalidationArgs) => boolean;
}Usage
The data and rendering exports belonging to a route. loader/action are server handlers with transport; clientLoader/clientAction are browser handlers. Rendering uses default, HydrateFallback, and ErrorBoundary. A manual browser table executes functions locally unless serverRoute supplies proxies.
import * as module from "./routes/tasks/route";
const route = defineRoute("/tasks", module);Fields
id
id?: string;Stable identifier for targeted revalidation; defaults to the path.
default
default?: unknown;HydrateFallback
HydrateFallback?: unknown;ErrorBoundary
ErrorBoundary?: unknown;loader
loader?: DataFunction;action
action?: DataFunction;clientLoader
clientLoader?(args: ClientLoaderArgs): unknown;Browser read: await the top-level result, retaining nested promises for deferred UI.
clientAction
clientAction?(args: ClientActionArgs): unknown;shouldRevalidate
shouldRevalidate?: (args: RevalidationArgs) => boolean;