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

React Router <Link>标签渲染正常但点击无响应跳转失败如何解决?

React Router Link标签点击无响应排查方案

你可以按以下优先级逐一排查问题:

  • 检查Header组件是否正确导入Link
    请确认Header组件代码顶部存在这行导入语句,漏导入会导致Link功能异常:
    import { Link } from 'react-router-dom';
    
  • 修复App.js的语法错误
    你提供的App.js代码存在语法疏漏,function App()后缺失函数体包裹的大括号,修正后代码如下:
    function App() {
      return (
        <div className="App">
          <Switch>
            <Route exact path="/" render = {() => (
              <HomepageLayout>
                <Homepage />
              </HomepageLayout>
            )} />
            <Route path="/registration" render={() => (
              <MainLayout>
                <Registration />
              </MainLayout>
            )} />
          </Switch>
        </div>
      );
    }
    
  • 检查react-router-dom版本兼容性
    如果你安装的是v6及以上版本的react-router-dom,原有v5版本的Switch、render属性写法已被废弃,需要改用新语法:
    1. 首先将App.js中的Switch替换为Routes,render属性替换为element属性:
    import { Routes, Route } from 'react-router-dom';
    function App() {
      return (
        <div className="App">
          <Routes>
            <Route path="/" element={
              <HomepageLayout>
                <Homepage />
              </HomepageLayout>
            } />
            <Route path="/registration" element={
              <MainLayout>
                <Registration />
              </MainLayout>
            } />
          </Routes>
        </div>
      );
    }
    
  • 检查元素遮挡问题
    可以打开浏览器审查工具,点击Link位置查看选中的元素是否为标签,如果选中的是其他层级元素,说明存在上层元素遮挡,给Header的样式添加以下属性即可:
    .header {
      position: relative;
      z-index: 999;
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 19:15:07