如何在两个不同的页面上使用两个导航栏

3周前#React.js
<>
<Header/>
<Routes>
    <Route path='/' element={<Home/>} />
    <Route path='application' element={<Application/>} />
    <Route path='services' element={<Services/>} />
    <Route path='subscription' element={<Subscription/>} />
    <Route path='complain' element={<Complain/>} />
</Routes>
<Footer/>
</>

我创建了两个header(header,header1)我想在投诉页面上使用 header1,除了投诉页面我想要 ro sue header,但我不知道如何使用它。

回答
M
Miss Caterina Haag Sr.
3周前

您可以使用有条件的渲染。 并使用来自 react-router-dom 的 useLocation。 因此,基于显示某些标题的 comp 也显示。

import { useLocation } from "react-router-dom";
import Header from "./Header";
import Header1 from "./Header1";
import Routes from "./Routes";
import Footer from "./Footer";

function App() {
  const location = useLocation();

  // Render Header1 on Complain page and Header on all other pages
  const header = location.pathname === "/complain" ? <Header1 /> : <Header />;

  return (
    <>
      {header}
      <Routes />
      <Footer />
    </>
  );
}

export default App;