import React, { StrictMode } from 'react'
import ReactDOM from 'react-dom/client'
import {
RouterProvider,
createRouter,
createRoute,
createRootRoute,
useMatchRoute,
} from '@tanstack/react-router'
const rootRoute = createRootRoute({})
const aRoute = createRoute({
getParentRoute() { return rootRoute },
path: 'a',
})
const bRoute = createRoute({
getParentRoute() { return aRoute },
path: 'b',
})
const cRoute = createRoute({
getParentRoute() { return bRoute },
path: 'c',
validateSearch: () => ({key: 'val'}),
})
function A() {
useMatchRoute()({to: '/'})
}
const routeTree = rootRoute.addChildren([aRoute.addChildren([bRoute.addChildren([cRoute])])])
const router = createRouter({ routeTree, defaultPreload: 'intent' })
declare module '@tanstack/react-router' {
interface Register {
router: typeof router
}
}
const rootElement = document.getElementById('app')!
if (!rootElement.innerHTML) {
const root = ReactDOM.createRoot(rootElement)
root.render(
<StrictMode>
<RouterProvider router={router} />
</StrictMode>,
)
}
import React, { StrictMode } from 'react'
import ReactDOM from 'react-dom/client'
import {
RouterProvider,
createRouter,
createRoute,
createRootRoute,
useMatchRoute,
} from '@tanstack/react-router'
const rootRoute = createRootRoute({})
const aRoute = createRoute({
getParentRoute() { return rootRoute },
path: 'a',
})
const bRoute = createRoute({
getParentRoute() { return aRoute },
path: 'b',
})
const cRoute = createRoute({
getParentRoute() { return bRoute },
path: 'c',
validateSearch: () => ({key: 'val'}),
})
function A() {
useMatchRoute()({to: '/'})
}
const routeTree = rootRoute.addChildren([aRoute.addChildren([bRoute.addChildren([cRoute])])])
const router = createRouter({ routeTree, defaultPreload: 'intent' })
declare module '@tanstack/react-router' {
interface Register {
router: typeof router
}
}
const rootElement = document.getElementById('app')!
if (!rootElement.innerHTML) {
const root = ReactDOM.createRoot(rootElement)
root.render(
<StrictMode>
<RouterProvider router={router} />
</StrictMode>,
)
}