CREATE
New.js : 새 일기쓰기 페이지 생성UPDATE
Edit.js : 수정 페이지 생성READ
Diary.js : 다이어리 상세 페이지 생성React-Router-Dom
을 사용해서 방금 만든 4개의 페이지를 특정 주소에 연결해서 페이지 라우팅BrowserRouter
컴포넌트(import 후)를 최상위 태그로 App 컴포넌트 감싸기 : 감싸지는 부분은 브라우저 URL과 매핑될 수 있음Routes
라는 컴포넌트로 감싸준다 (import도 같이)Route
라는 컴포넌트를 이용하는데 이것은 실질적으로 URL 경로와 컴포넌트를 매핑시켜준다 (import도 같이)Route path="/경로" element={페이지 컴포넌트}
src/App.js
import "./App.css";
import { BrowserRouter, Route, Routes } from "react-router-dom";
import RouteTest from "./components/RouteTest";
import Home from "./pages/Home";
import New from "./pages/New";
import Edit from "./pages/Edit";
import Diary from "./pages/Diary";
function App() {
return (
<BrowserRouter>
<div className="App">
<h2>App.js</h2>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/new" element={<New />} />
<Route path="/edit" element={<Edit />} />
<Route path="/diary" element={<Diary />} />
</Routes>
</div>
</BrowserRouter>
);
}
export default App;
Link to={경로}
src/components/RouteTest.js
import { Link } from "react-router-dom";
const RouteTest = () => {
return (
<div>
<Link to={"./"}>HOME</Link><br />
<Link to={"./new"}>NEW</Link><br />
<Link to={"./diary"}>DIARY</Link><br />
<Link to={"./edit"}>EDIT</Link><br />
</div>
);
}
export default RouteTest;
src/App.js
import "./App.css";
import { BrowserRouter, Route, Routes } from "react-router-dom";
import RouteTest from "./components/RouteTest";
import Home from "./pages/Home";
import New from "./pages/New";
import Edit from "./pages/Edit";
import Diary from "./pages/Diary";
function App() {
return (
<BrowserRouter>
<div className="App">
<h2>App.js</h2>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/new" element={<New />} />
<Route path="/edit" element={<Edit />} />
<Route path="/diary" element={<Diary />} />
</Routes>
</div>
<RouteTest />
</BrowserRouter>
);
}
export default App;