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

React Router路由失效求助:点击导航按钮无法跳转页面

React Router 页面跳转问题排查与修复

问题1:导航栏Link目标路径格式错误

导航栏里的Link组件用了锚点格式(#about、#contact),但React Router的Link需要指向定义好的路由路径,而非页面锚点,这会导致点击后无法匹配对应路由。

修复:将Link的to属性改为对应路由路径:

import React from 'react';
import {Nav, Navbar, Container} from 'react-bootstrap';
import {Link} from 'react-router-dom';

let Navibar = () => {
  return (
    <>
     <Navbar bg="dark" variant="dark">
        <Container>
          <Navbar.Brand href="#home">My Portfolio</Navbar.Brand>
          <Nav className="me-auto">
            <Link to="/">Home</Link>
            <Link to="/About">About me</Link>
            <Link to="/Contact">Contact</Link>
          </Nav>
        </Container>
      </Navbar>
    </>
  );
}

export default Navibar;

问题2:Contact路由路径缺少根斜杠

App组件中Contact的Route路径写为path="Contact",正确的路由路径必须以斜杠/开头,否则会被识别为相对路径,无法匹配根路由下的页面。

修复:给Contact的路由路径添加斜杠:

<Switch>
  <Route exact path="/">
    <Home/>
  </Route>
  <Route exact path="/About">
    <About/>
  </Route>
  <Route exact path="/Contact">
    <Contact/>
  </Route>
</Switch>

可选优化:统一路径大小写(避免后续踩坑)

路由路径区分大小写,建议统一使用小写格式,减少匹配异常:

  • App组件路由修改:
<Switch>
  <Route exact path="/">
    <Home/>
  </Route>
  <Route exact path="/about">
    <About/>
  </Route>
  <Route exact path="/contact">
    <Contact/>
  </Route>
</Switch>
  • 导航栏对应修改:
<Link to="/">Home</Link>
<Link to="/about">About me</Link>
<Link to="/contact">Contact</Link>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 18:20:20