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

React静态项目App.jsx路由配置问题:BrowserRouter迁移无效,路由组件同页

解决方案
  1. 先在App.jsx中导入BrowserRouter,并将整个路由结构用它包裹,确保路由能正常工作。
  2. 调整路由配置:把首页的所有组件(PageHeader、About、Works、Contact、Footer)放到根路径/的路由元素中,将/resume路由单独设置,这样两个路由的内容不会同时渲染。

修改后的App.jsx代码如下:

import { BrowserRouter, Routes, Route } from 'react-router-dom';
// 导入你的各个组件:PageHeader, About, Works, Contact, Footer, Resume

export default function App() {
  return (
    <BrowserRouter>
      <Routes>
        {/* 首页路由 - 访问根路径时渲染这些组件 */}
        <Route 
          path="/" 
          element={
            <>
              <PageHeader />
              <About />
              <Works />
              <Contact />
              <Footer />
            </>
          } 
        />
        {/* 简历独立页面路由 - 仅访问/resume时渲染Resume组件 */}
        <Route path="/resume" element={<Resume />} />
      </Routes>
    </BrowserRouter>
  )
}

另外,要确保页面跳转使用react-router-dom提供的Link组件(而非原生a标签),避免页面刷新,比如在PageHeader中添加导航:

import { Link } from 'react-router-dom';

function PageHeader() {
  return (
    <header>
      <Link to="/">首页</Link>
      <Link to="/resume">简历</Link>
    </header>
  );
}

这样切换到/resume路由时,就只会显示Resume组件,不会再渲染首页的其他内容了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 04:28:16