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

使用Material UI的Link组件跳转出现路由堆叠问题怎么解决?

路由堆叠问题解决方案

问题根源

该问题是因为你给Material UI的Link组件to属性传入了相对路径:没有前缀斜杠/的路由会基于当前页面的路径做拼接,因此你在/home路径下跳转contact时,会自动拼接为/home/contact。

最优解决方案:统一使用绝对路径定义跳转

所有路由跳转的路径前统一加前缀斜杠/,明确指定为根路径下的绝对路由即可:

错误写法(相对路径,会触发路径拼接)

<Link to="contact">联系我们</Link>
<Link to="home">首页</Link>

正确写法(绝对路径,直接跳转至根路径下对应路由)

<Link to="/contact">联系我们</Link>
<Link to="/home">首页</Link>
<Link to="/login">登录</Link>

可选解决方案:使用replace属性替换历史栈

如果你有业务场景必须使用相对路径,可给Link组件添加replace属性,跳转时会直接替换当前历史栈而非追加新路径,也能避免路径堆叠问题:

<Link to="contact" replace>联系我们</Link>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:06:05