[javascript] 라우터 컴포넌트의 역할과 기능
라우터 컴포넌트는 웹 애플리케이션에서 네비게이션을 관리하고 페이지 간의 전환을 제어하는 역할을 합니다. 이는 다양한 페이지를 가진 복잡한 애플리케이션에서 특히 유용하며, 사용자 경험과 애플리케이션의 성능을 개선하는 데 도움이 됩니다.
라우터 컴포넌트의 기능
-
URL 관리: 라우터 컴포넌트는 URL을 기반으로 페이지를 렌더링하고, 현재 페이지의 URL을 추적합니다. 이를 통해 사용자는 뒤로가기, 앞으로가기와 같은 브라우저의 네비게이션 동작을 할 수 있습니다.
-
페이지 렌더링: 라우터 컴포넌트는 URL에 따라 해당하는 컴포넌트를 렌더링합니다. 예를 들어,
/home
경로에 대한 컴포넌트는 홈 페이지를 렌더링하고,/about
경로에 대한 컴포넌트는 소개 페이지를 렌더링합니다. -
중첩된 라우팅: 라우터 컴포넌트는 중첩된 경로에 대한 처리도 가능합니다. 이를 통해 애플리케이션을 계층적으로 구성하고, 복잡한 페이지 구조를 표현할 수 있습니다.
-
매개변수와 쿼리 파라미터 처리: 라우터 컴포넌트는 동적 URL을 처리하는 기능을 제공합니다. URL에 변수를 포함시켜 특정 데이터를 전달하거나, 쿼리 파라미터를 이용해 특정 동작을 수행할 수 있습니다.
예시 코드
다음은 React.js의 라우터 컴포넌트를 사용하는 예시 코드입니다.
import React from 'react';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
import Home from './components/Home';
import About from './components/About';
import NotFound from './components/NotFound';
function App() {
return (
<Router>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
<Route component={NotFound} />
</Switch>
</Router>
);
}
export default App;
위의 코드에서 BrowserRouter
, Route
, Switch
컴포넌트를 사용하여 URL과 컴포넌트를 매핑하고, exact
키워드를 사용하여 정확한 경로일 때만 매칭하도록 설정했습니다.
참고 자료
- React Router 공식 문서: https://reactrouter.com/
- MDN Web Docs - 브라우저의 히스토리 관리: https://developer.mozilla.org/ko/docs/Web/API/History