Router Docs
Router Examples
- Quickstart (file-based)
- Quickstart (code-based)
- Basic (file-based)
- Basic + Solid Query (file-based)
- Basic + Solid Query (code-based)
- Basic + SSR (file-based)
- Basic + SSR Streaming (file-based)
- Kitchen Sink (code-based)
- Kitchen Sink (file-based)
- Kitchen Sink + Solid Query (file-based)
- Kitchen Sink + Solid Query (code-based)
- Location Masking
- Authenticated Routes
- Scroll Restoration
- Deferred Data
- Navigation Blocking
- View Transitions
- Framer Motion
- With tRPC
- Monorepo basic
- Monorepo basic (with lazy loading)
- Monorepo with Solid Query
Solid Example: With Trpc
import { render } from 'solid-js/web'
import { RouterProvider, createRouter } from '@tanstack/solid-router'
import { trpc } from './trpc'
import { Spinner } from './routes/-components/spinner'
import './styles.css'
// Import the generated route tree
import { routeTree } from './routeTree.gen'
// Create a router instance
const router = createRouter({
routeTree,
scrollRestoration: true,
defaultPreload: 'intent',
defaultPendingComponent: () => (
<div class={`p-2 text-2xl`}>
<Spinner />
</div>
),
context: {
trpc,
},
})
// Register the router instance for type safety
declare module '@tanstack/solid-router' {
interface Register {
router: typeof router
}
}
const rootElement = document.getElementById('root')!
if (!rootElement.innerHTML) {
render(() => <RouterProvider router={router} />, rootElement)
}