Data Loading
Vuloom has two loading layers.
App shell data: app/loader.ts
Use app/loader.ts for request-aware data needed by the document shell:
- theme
- locale
- session snapshot
- shell navigation data
Read it with useAppData().
Route data: app/pages/**/loader.ts
Use route loaders for page and layout data.
export async function loader({ params }: { params: Record<string, string> }) {
return {
slug: params.slug
};
}
Read route data with:
useLoaderData()for the current matched nodeuseRouteLoaderData(routeId)for an explicit route id
Generated typing
vuloom prepare generates route registries in .vuloom/types/.
That lets these APIs infer data by route id:
const blogData = useRouteLoaderData('blog/[slug]/page')
const appData = useAppData()