[230517] React κ°•μ˜

1. React Router (νŽ˜μ΄μ§€ μ „ν™˜) ν•™μŠ΅

npm install react-router-dom μ„€μΉ˜

  • μš”λ ‡κ²Œ 폴더 λ§Œλ“€μ–΄μ€Œ, λΌμš°ν„° ν΄λ”λŠ” 슀크린, νŽ˜μ΄μ§€λ“±μœΌλ‘œλ„ 넀이밍 κ°€λŠ₯
  • λΈŒλΌμš°μ„œλΌμš°ν„°κ°€ 있고 ν•΄μ‰¬λΌμš°ν„°κ°€ μžˆλŠ”λ° ν•΄μ‰¬λŠ” # μ“°λŠ”κ±° λΈŒλΌμš°μ €λŠ” μš°λ¦¬κ°€ 일반적으둜 μ•„λŠ”κ±°μž„
import { BrowserRouter as Router, Routes, Route } from "react-router-dom";
import Home from "./routes/Home";
function App() {
  return (
    <Router>
      <Routes>
        <Route path="/" element={<Home />} />
      </Routes>
    </Router>
  );
}
export default App;

μš°λ¦¬κ°€ λΌμš°ν„° μ¨μ£ΌλŠ” 방식 λΌμš°ν„°κ°€ κ·Έ κ²½λ‘œμΌλ•Œ λ“€μ–΄κ°ˆκΊΌμž„

: μƒˆλ‘œκ³ μΉ¨ 없이도 μœ μ €λ₯Ό λ‹€λ₯Έ νŽ˜μ΄μ§€λ‘œ μ΄λ™μ‹œμΌœμ£ΌλŠ” μ»΄ν¬λ„ŒνŠΈ

동적 URL (useParams)

<Route path="/movie/:id" element={<Detail />} />

μ΄λ ‡κ²Œ 콜둠 λ„£μ–΄μ„œ 아이디 μ“°λ©΄ 아이디 μžλ¦¬μ— 무언가가 λ™μ μœΌλ‘œ μ˜¨λ‹€λŠ” 뜻

<Link to={`/movie/${id}`}>{title}</Link>

아이디 λ³΄μ—¬μ£ΌλŠ” url

import { useParams } from "react-router-dom";
function Detail() {
  const x = useParams();
  console.log(x);
  return <h1>Detail</h1>;
}
export default Detail;

μ΄λ ‡κ²Œ ν•΄μ„œ useParams μ‚¬μš©ν•˜λ©΄ id ν‚€ 값에 κ°’ 듀어감

const { id } = useParams();

이거 μ¨μ„œ κ°μ²΄μ•ˆμ— id κ°’ λ½‘μ•„λ‚Όμˆ˜λ„ 있음

Categories:

Updated:

Leave a comment