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
- 3진수
- charAt()
- filter()
- repeat()
- isNaN()
- slice()
- jsx반복문
- toUpperCase()
- Eventlitener
- parseInt()
- 차집합
- useEffect()
- substring()
- getday()
- reat if문
- indexOf()
- map()
- 소수점 올림내림
- sort()
- React
- useRef()
- includes()
- useState()
- 항해99솔직후기 #항해99장점 #항해99단점 #부트캠프추천
- setDate
- Math.floor()
- new Date()
- 교집합
- Number()
- Math.sqrt()
Archives
- Today
- Total
개발자로 전향중
React router dom v6 본문
yarn add react-router-dom 설치
index.js
import React from 'react';
import ReactDOM from "react-dom";
import { BrowserRouter} from "react-router-dom";
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
// 이부분이 index.html에 있는 div#root에 우리가 만든 컴포넌트를 실제로 랜더링하도록 연결해주는 부분입니다.
ReactDOM.render(
<BrowserRouter>
<App />
</BrowserRouter>,
document.getElementById("root")
);
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();
app.js
import { Route, Routes, NavLink } from "react-router-dom";
import React from 'react';
import './style.css'
import Home from "./Home"
import Cat from "./Cat"
import Dog from "./Dog"
function App() {
return (
<>
<div className="App">
<nav>
<NavLink to="/" >Home</NavLink>
<NavLink to="cat">Cat</NavLink>
<NavLink to="dog">Dog</NavLink>
--NavLink는 클릭하면 자동으로 active class를 생성!style.ss
.active {
background-color: gray;
}
</nav>
<Routes>
<Route path="/" element={<Home />} />
<Route path="Cat/:username" element={<Cat />} />
<Route path="Dog" element={<Dog/>} />
</Routes>
</div>
</>
);
}
export default App;
home.js, useNavigate로 버튼 누르면 페이지 이동
import React from "react";
import { useNavigate } from "react-router-dom";
const Home = (props) => {
let navigate = useNavigate();
return (
<div>
메인 화면이에요. <button onClick={() => {
navigate("/dog")
}}> 강아지 페이지이동</button>
</div>
)
}
export default Home;
cat.js, useParam() 사용
import React from "react";
import { useParams } from "react-router-dom";
const Cat = (props) => {
let { username } = useParams();
return (
<div>{ username }의 고양이 화면이에요.</div>
)
}
export default Cat;
dog.js
import React from "react";
const Dog = (props) => {
return (
<div>강아지 화면이에요.</div>
)
}
export default Dog;
'React' 카테고리의 다른 글
리액트에서 자주쓰는 if문 작성패턴 5개 (0) | 2022.01.22 |
---|---|
react(리액트) JSX 배열 반복문 렌더링 - for/map/forEach (0) | 2022.01.22 |
React Hook: useref() (0) | 2022.01.22 |
React Hook: useEffect(), EventListener (0) | 2022.01.22 |
React Hook: useState(함수) (0) | 2022.01.22 |