You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NextRouter未挂载报错求助:useRouter使用异常问题

解决NextRouter was not mounted错误
  • 给Header组件加客户端指令:useRouter只能在客户端组件中使用,打开src/app/component/header/Index.tsx,在文件最顶部添加'use client'——App Router下的组件默认是服务器组件,服务器环境里无法挂载路由实例。
  • 排查异常链接的实现:对比正常链接和异常链接的代码,看看异常链接是不是用了useRouter.push而非<Link>组件?如果只是跳转需求,优先用next/link导出的<Link>组件,它会自动处理路由挂载状态,比手动调用路由方法更稳定。
  • 规范useRouter调用:确保useRouter()在组件顶层直接调用,别嵌套在useEffect、条件判断或者其他钩子内部,React要求钩子必须在渲染阶段顶层执行。
  • 检查组件嵌套关系:确认Header组件是不是被某个服务器组件直接渲染了?如果是,即便Header加了客户端指令,也要确保父组件没有在服务器端强制渲染导致路由实例未初始化。

内容的提问来源于stack exchange,提问作者Artur Santana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 21:32:09