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

react-router-dom下NavLink跳转时路径被追加viewreport前缀问题

问题原因

你导航栏中所有NavLink的to属性使用了./开头的相对路径,相对路径会基于当前页面的路由地址进行拼接。当你处于/reportapp/viewreport路径下时,点击./Create这类相对路径就会自动拼接出/reportapp/viewreport/Create的错误地址,这就是路径追加问题的根源。

修复方案

把所有NavLink的to属性值从./开头的相对路径,修改为/开头的绝对路径即可。由于你已经给Router组件配置了basename属性,/开头的路径会自动补全你设置的basename前缀,不需要手动拼接。

修改后的导航栏核心代码参考:

<ul className="navbar-nav me-auto mb-2 mb-lg-0">
  <li className="nav-item">
    <NavLink
      className="nav-link"
      aria-current="page"
      to="/"
      exact={true}
    >
      Dashboard
    </NavLink>
  </li>
  <li className="nav-item">
    <NavLink className="nav-link" to="/Create">
      Create Report
    </NavLink>
  </li>
  <li className="nav-item">
    <NavLink className="nav-link" to="/Archive">
      Archived Reports
    </NavLink>
  </li>
  <li className="nav-item">
    <NavLink className="nav-link" to="/Support">
      Support
    </NavLink>
  </li>
  <li className="nav-item">
    <NavLink className="nav-link" to="/Resources">
      Resources
    </NavLink>
  </li>
</ul>

提示:你的路由配置中路径是大小写敏感的(比如配置的是/Create而非/create),NavLink的to属性值大小写要和路由配置保持一致,避免出现匹配失败的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 23:45:01