Coding 공부/React

[React] Router 예제

CBJH 2024. 6. 10. 16:22
728x90
반응형
import './App.css';           // App 컴포넌트의 스타일을 가져옵니다.
import { BrowserRouter, Routes, Route } from 'react-router-dom'; // react-router-dom 라이브러리에서 필요한 컴포넌트를 가져옵니다.
import Home from './components/Home'; // Home 컴포넌트를 가져옵니다.
import Search from './components/Search'; // Search 컴포넌트를 가져옵니다.

function App() {  // App 컴포넌트를 정의합니다.
  return ( 
    <div className="App"> 
      <BrowserRouter>  {/* BrowserRouter: HTML5 히스토리 API를 사용하여 URL을 관리하는 최상위 컴포넌트 */}
        <Routes>  {/* Routes: path에 따라 다른 컴포넌트를 렌더링하는 컴포넌트 */}
          <Route path='/' element={<Home />} />  {/* path가 '/'이면 Home 컴포넌트를 렌더링 */}
          <Route path='/search' element={<Search />} />  {/* path가 '/search'이면 Search 컴포넌트를 렌더링 */}
        </Routes>
      </BrowserRouter>
    </div>
  ); 
}

export default App; // App 컴포넌트를 다른 파일에서 사용할 수 있도록 내보냅니다.

코드 설명:

  • react-router-dom 라이브러리를 사용하여 싱글 페이지 애플리케이션(SPA)에서 라우팅 기능을 구현합니다.
  • BrowserRouter는 브라우저의 URL 변경에 따라 컴포넌트를 동적으로 렌더링합니다.
  • Routes는 여러 Route를 감싸고 URL 경로에 따라 어떤 컴포넌트를 보여줄지 결정합니다.
  • Route는 특정 경로(path)와 해당 경로에 렌더링할 컴포넌트(element)를 연결합니다.

예시:

  • 사용자가 웹 브라우저에서 / 경로로 접속하면 Home 컴포넌트가 화면에 표시됩니다.
  • 사용자가 /search 경로로 이동하면 Search 컴포넌트가 화면에 표시됩니다.