๐ฉrouter๋ ๊ฐ๊ฐ์ ์นํ์ด์ง๋ก ๊ฐ๊ธฐ ์ํ โ๊ฒฝ๋กโ์ด๋ค.
๐ ์ค์นํ๊ธฐ
npm install react-router-dom@6
๐ฉindex.js
import { BrowserRouter } from "react-router-dom";
.
.
.
const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(
<React.StrictMode>
**<BrowserRouter>**
<App />
**</BrowserRouter>**
</React.StrictMode>
);
๐ฉApp.js
**import { Routes, Route } from "react-router-dom";**
.
.
.
function App() {
return (
<div className="App">
<Routes>
<Route path="/" element={<Homepage />} />
<Route path="/about" element={<About />} />
</Routes>
</div>
);
}
-Routes: ์ํฉ์ ๋ง๊ฒ ํ์ด์ง๋ฅผ ๋ฐ๊ฟ์ค(v5์์๋ <Switch>๋ก ์ฐ์)
-Route: ๋ฐ๋๋ ๊ฐ๊ฐ์ ํ์ด์ง๋ฅผ ์ ์ํด
-path: ๊ฐ ํ์ด์ง์ ์ฃผ์(url ์์์ โ/homeโ)
-element: ์ง์ ๋ path์ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ ํ์ด์ง(v5์์๋ component๋ก ์ฐ์)
๐ฉHomepage.jsx - 1. Link
**import { Link } from "react-router-dom";**
.
.
.
export default function Homepage() {
return (
<div>
<h1>HOME</h1>
<Link to="/about">GO TO ABOUT PAGE!</Link>
</div>
);
}
-๋ผ์ฐํฐ๊ฐ์ ์ด๋์ด ํ์ํ ๋ ์ฌ์ฉํ๋ค.
-html์ <a>์ ๋น์ทํจ