Files
SnowLuma/.pnpm-store/v11/files/8b/008e835ec058388d0857b74ae7b7e9cb838a8ab15f00f5f681f8d71a159d7be51c21fb0e2d82906abfa75ec4b8527fa379ed64200f7de2546c12edbeaeafe7
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

50 lines
1.2 KiB
Plaintext

import {
getElementScrollRestorationEntry,
setupScrollRestoration,
} from '@tanstack/router-core'
import { useRouter } from './useRouter'
import type {
ParsedLocation,
ScrollRestorationEntry,
ScrollRestorationOptions,
} from '@tanstack/router-core'
function useScrollRestoration() {
const router = useRouter()
setupScrollRestoration(router, true)
}
/**
* @deprecated Use the `scrollRestoration` router option instead.
*/
export function ScrollRestoration(_props: ScrollRestorationOptions) {
useScrollRestoration()
if (process.env.NODE_ENV === 'development') {
console.warn(
"The ScrollRestoration component is deprecated. Use createRouter's `scrollRestoration` option instead.",
)
}
return null
}
export function useElementScrollRestoration(
options: (
| {
id: string
getElement?: () => Window | Element | undefined | null
}
| {
id?: string
getElement: () => Window | Element | undefined | null
}
) & {
getKey?: (location: ParsedLocation) => string
},
): ScrollRestorationEntry | undefined {
useScrollRestoration()
return getElementScrollRestorationEntry(useRouter(), options)
}