概览`next/link` 默认在链接进入视口时预取。对敏感或动态页面可禁用预取,并在交互时通过 `router.prefetch` 主动预取,兼顾性能与一致性。禁用视口预取import Link from 'next/link'

export function Menu() {

return (

<nav>

<Link href="/dashboard" prefetch={false}>仪表盘</Link>

<Link href="/products">产品</Link>

</nav>

)

}

交互主动预取'use client'

import { useRouter } from 'next/navigation'

export function PrefetchOnHover() {

const router = useRouter()

const href = '/products/1'

return (

<a

href={href}

onMouseEnter={() => router.prefetch(href)}

onFocus={() => router.prefetch(href)}

>查看产品</a>

)

}

治理要点将预取用于高频与安全页面;对需要鉴权或敏感数据的页面禁用。在用户意图明显的交互(悬停/聚焦)触发 `router.prefetch`,避免带宽浪费。与 `speculationrules`、缓存与优先级策略协同,进一步稳定导航路径。验证与指标浏览器:现代浏览器;Next.js:15.0+导航响应更快;敏感页面避免不必要的预取

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部