Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 함수선언식
- flex-direction
- 속성
- 함수표현식
- 조건문
- boolean
- flex-wrap
- 논리연산자
- 기초
- 함수
- justify-content
- 반복문
- Methods
- 비교연산자
- ELSE
- 변수
- for in
- for of
- 문자열
- 프론트엔드
- typeof
- if else
- flex
- frontend
- properties
- 화살표함수
- javascript
- 타입
- align-content
- for
Archives
- Today
- Total
하얀 코딩
[React - 15] BrowserRouter / Routes / Route 본문
React Router v4 이후의 버전에서 웹 어플리케이션의 라우팅을 지원하는 주요 컴포넌트입니다.
BrowserRouter는 HTML5의 History API를 사용하여 UI를 동기화해주며,
URL을 직접 조작하면서도 페이지 전체 리로드를 하지 않는 SPA (Single Page Application)를 구현할 수 있게 합니다.
이 예제는 React Router v6 기준 사용법입니다.
import { BrowserRouter, Route, Link } from 'react-router-dom';
function App() {
return (
<BrowserRouter>
<div>
<nav>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/about">About</Link>
</li>
<li>
<Link to="/users">Users</Link>
</li>
</ul>
</nav>
<hr />
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
<Route path="/users" element={<Users />} />
</Routes>
</div>
</BrowserRouter>
);
}
function Home() {
return <h2>Home</h2>;
}
function About() {
return <h2>About</h2>;
}
function Users() {
return <h2>Users</h2>;
}
export default App;
Routes
v6에서는 Routes 컴포넌트를 사용하여 여러 Route 컴포넌트를 감싸줍니다. 이는 경로 일치의 명시성을 높여줍니다.
Route
각 Route는 path와 element 두 개의 주요 속성을 가집니다.
element 속성에는 렌더링할 컴포넌트를 JSX 형태로 전달합니다.
Link
사용자가 클릭하여 다른 경로로 이동할 수 있는 링크를 생성합니다.
페이지 전체를 리로드하지 않고 클라이언트 사이드에서 라우팅을 수행합니다.
'React' 카테고리의 다른 글
[React - 17] useLocation (0) | 2023.08.30 |
---|---|
[React - 16] createBrowserRouter (0) | 2023.08.24 |
[React - 14] useMatch (0) | 2023.08.24 |
[React - 13] useSearchParams (0) | 2023.08.24 |
[React - 12] useOutletContext (0) | 2023.08.24 |