Files
SnowLuma/.pnpm-store/v11/files/4d/588b974c67b368c4f48adf29f81ab5d788f3ff839deae221d9d07b450a0b1b953c9f37aaaea821e03988949c5675f743e2d41d9cc7eb28b8ac8db8adad22ea
T
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

30 lines
902 B
Plaintext

'use client'
import * as React from 'react'
import { routerContext } from './routerContext'
import type { AnyRouter, RegisteredRouter } from '@tanstack/router-core'
/**
* Access the current TanStack Router instance from React context.
* Must be used within a `RouterProvider`.
*
* Options:
* - `warn`: Log a warning if no router context is found (default: true).
*
* @returns The registered router instance.
* @link https://tanstack.com/router/latest/docs/framework/react/api/router/useRouterHook
*/
export function useRouter<TRouter extends AnyRouter = RegisteredRouter>(opts?: {
warn?: boolean
}): TRouter {
const value = React.useContext(routerContext)
if (process.env.NODE_ENV !== 'production') {
if ((opts?.warn ?? true) && !value) {
console.warn(
'Warning: useRouter must be used inside a <RouterProvider> component!',
)
}
}
return value as any
}