You need to enable JavaScript to run this app. React Router配置:如何点击Blog链接打开独立完整页面而非嵌入首页
优惠活动
大模型
产品
解决方案
定价
更多

React Router配置:如何点击Blog链接打开独立完整页面而非嵌入首页

问题原因

你当前的路由配置中,Home、About、Team、Contact等组件没有绑定路由匹配规则,直接挂载在BrowserRouter下,因此无论访问站点的哪个路径,这些组件都会全局渲染。只有Blog组件匹配了/blog路径才渲染,所以会出现在Team组件下方的情况。

修改方案

1. 修改App.js路由配置

首先引入Switch组件包裹路由规则,将首页所有内容封装到精确匹配根路径/的路由中:

import React from 'react';
import './App.css';
// 新增引入Switch
import { BrowserRouter, Route, Switch } from "react-router-dom";
import Header from './components/Header';
import Home from './components/Home';
import About from './components/About';
import Team from './components/Team';
import Blog from './components/Blog';
import Contact from './components/Contact';
import ScrollToTop from './components/ScrollToTop';

const App = () => {
  return (
      <BrowserRouter>
      {/* 如果Blog页不需要展示Header,可将Header移到下方path="/"的Route内部 */}
      <Header />
      <Switch>
        {/* 精确匹配根路径,仅访问首页时渲染首页组件 */}
        <Route exact path="/">
          <Home />
          <About />
          <Team />
          <Contact />
        </Route>
        {/* 匹配/blog路径时仅渲染Blog组件 */}
        <Route path="/blog" component={Blog}></Route>
      </Switch>
      <ScrollToTop />
      </BrowserRouter>
  );
}

export default App;

2. 可选调整LeftNav组件(按需选择)

你当前的Link2设置了target="_blank",会在新标签页打开Blog页面;如果需要在当前标签页跳转展示独立Blog页,删除target="_blank"属性即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 18:30:03