일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- CLASS
- SWEA
- Typescript
- bfs/dfs
- Java
- 코딩테스트
- Lv2
- 정렬
- programmers
- javascript
- 자바스크립트
- CSS
- 이것이 코딩테스트다 with 파이썬
- 알고리즘
- Python
- 코딩테스트 입문
- 연습문제
- 프로그래머스
- Baekjoon
- 백준
- 네트워크
- 그리디
- Lv1
- React
- Next.js
- node.js
- js
- 프로그래머스 JS
- 자바
- greedy
Archives
- Today
- Total
개발야옹
[ React ] React Router #2 <Link> 본문
이전 글
1. 2022.02.09 - [React] - [ React ] React Router
react-router-dom :: <Link> component
react-rotuer-dom library의 <Link> component는 html의 <a> tag와 같이 연결된 주소로 페이지를 전환시켜준다.
<a> tag의 경우 페이지를 전환하는 과정에서 새로운 페이지를 불러오면서 애플리케이션이 가지고 있던 모든 상태를 날려버려 렌더링되어있던 모든 컴포넌트들도 모두 사라지고 페이지를 모두 처음부터 다시 렌더링하게 된다.
그렇기 때문에 react-rotuer-dom library를 사용하여 라우팅 하는 경우에는 <a>태그로 이루어져 있지만 페이지 전환을 방지하는 기능이 내장되어 있는 <Link> component 를 사용하여 페이지 전환을 해야한다.
<Link> component를 사용하여 페이지를 전환하면 페이지를 새로 불러오지 않고 애플리케이션은 유지를 한 상태에서 HTML 5 History API를 사용하여 페이지의 주소만 변경해준다.
<Link> Component 사용방법
<Link to="주소">내용</Link>
App.js
// src/App.js
import './App.css';
import {Link, Route, Routes} from "react-router-dom";
import Home from "./Home";
import About from "./About";
function App() {
return (
<div className="App">
<h1> 라우팅 프로젝트 </h1>
<ul>
<li>
<h2><Link to="/">Home</Link></h2>
</li>
<li>
<h2><Link to="/about">About</Link></h2>
</li>
</ul>
<Routes>
<Route path="/" element={<Home />}>Home</Route>
<Route path="/about" element={<About />}>About</Route>
</Routes>
</div>
);
}
export default App;
실행화면
728x90
'Framework\Library > React' 카테고리의 다른 글
[ React ] React Router #3 URL parameter & Query (0) | 2022.02.11 |
---|---|
[ React ] React Router #1 (0) | 2022.02.09 |
[ React : CSS ] Component styling (1) | 2022.01.05 |
[ React ] React 동작 원리( DOM, Virtual DOM) (4) | 2021.12.10 |
[ React : CRA ] create-react-app ( CRA ) 시작 (0) | 2021.12.10 |