<Link> <Route> 의 일반적인 구조

백엔드&인프라 추종자·2025년 3월 12일

리액트 공부

목록 보기
6/9

네, 맞습니다! React Router에서 <Link><Route>를 사용할 때의 일반적인 구조는 다음과 같습니다.

📌 기본적인 구조:

import { BrowserRouter as Router, Routes, Route, Link } from "react-router-dom";

function Home() {
  return <h1>Home Page</h1>;
}

function About() {
  return <h1>About Page</h1>;
}

function App() {
  return (
    <Router> {/* 최상위에서 감싸기 */}
      {/* 네비게이션 메뉴 */}
      <nav>
        <ul>
          <li><Link to="/">Home</Link></li>
          <li><Link to="/about">About</Link></li>
        </ul>
      </nav>

      {/* 실제 라우트 경로에 따른 페이지 렌더링 */}
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
      </Routes>
    </Router>
  );
}

export default App;

✅ 구조 설명

요소역할
<BrowserRouter> (<Router>)React Router를 사용할 수 있도록 감싸주는 역할 (필수)
<Link>페이지 이동을 위한 링크 (<a> 태그와 유사)
<Routes>라우트 그룹을 감싸는 컨테이너
<Route>특정 경로에 컴포넌트를 매핑

🔍 ul 태그 안에 <Link>를 넣어도 되는 이유?

HTML에서는 <ul>(목록) 안에 <li>(목록 항목)만 올 수 있지만,
<li> 안에는 어떤 태그든 포함 가능하므로 <Link>를 넣어도 문제없습니다.

<ul>
  <li><Link to="/">Home</Link></li>
  <li><Link to="/about">About</Link></li>
</ul>

➡️ 위처럼 <li> 안에 <Link>를 넣으면 네비게이션 메뉴처럼 동작하게 됩니다.


🚀 결론

✔️ <BrowserRouter>로 전체를 감싸기
✔️ 네비게이션 바(<ul>, <nav>) 안에 <Link> 배치 가능
✔️ <Routes> 내부에서 <Route>를 사용하여 컴포넌트 렌더링

이렇게 작성하면 URL에 따라 화면이 자연스럽게 변경되는 React 라우팅이 완성됩니다! 😊

profile
AI 답변 글을 주로 올립니다.

0개의 댓글