Files
SnowLuma/.pnpm-store/v11/files/8e/52b7ad715a3a5ed33d1f96cd2a7c43772a0993336b60cca58283b3e2ab5bed47a2ef209a31f4c236ad3cd90585fd26587bcf368b08b525c8074eb6f8033db2
TanTan 2a69b23b47
Dev Build / cleanup (push) Waiting to run
Dev Build / typecheck (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

36 lines
1.3 KiB
Plaintext

import * as React from 'react'
import { DefaultGlobalNotFound } from './not-found'
import type { AnyRoute, AnyRouter } from '@tanstack/router-core'
/**
* Renders a not found component for a route when no matching route is found.
*
* @param router - The router instance containing the route configuration
* @param route - The route that triggered the not found state
* @param data - Additional data to pass to the not found component
* @returns The rendered not found component or a default fallback component
*/
export function renderRouteNotFound(
router: AnyRouter,
route: AnyRoute,
data: any,
) {
if (!route.options.notFoundComponent) {
if (router.options.defaultNotFoundComponent) {
return <router.options.defaultNotFoundComponent {...data} />
}
if (process.env.NODE_ENV !== 'production') {
if (!route.options.notFoundComponent) {
console.warn(
`Warning: A notFoundError was encountered on the route with ID "${route.id}", but a notFoundComponent option was not configured, nor was a router level defaultNotFoundComponent configured. Consider configuring at least one of these to avoid TanStack Router's overly generic defaultNotFoundComponent (<p>Not Found</p>)`,
)
}
}
return <DefaultGlobalNotFound />
}
return <route.options.notFoundComponent {...data} />
}