React/쇼핑몰 프로젝트
[React] 쇼핑몰 프로젝트 (3) - Router 활용
위르겐
2022. 5. 30. 13:48
축구선수 사진을 클릭했을 때 해당 축구선수의 상세내용을 보여주는 페이지를 띄워주고 싶다.
배운 내용을 바탕으로
구현해보자.
기존 자바스크립트에선 URL을 입력하면 그 주소에 해당하는 HTML파일을 띄워주기만 하면 됐다.
하지만 리액트는 index.html 파일 단 한개만을 쓰기 때문에
app.js파일 내에서 route를 사용한다.
자세히 살펴보자
route를 사용하기 위해서는
npm install react-router-dom@6
터미널에서 npm install react-route-dom@6 를 입력후 설
치해준다.
다음 index.js 파일 상단에
import { BrowserRouter } from 'react-router-dom';
이 코드를 import해주고
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<BrowserRouter>
<App />
</BrowserRouter>
</React.StrictMode>
);
<App />을
<BrowserRouter>태그로 감싸준다
App.js파일로 돌아와
import { Routes, Route, Link, useNavigate, Outlet } from 'react-router-dom';
상단에 이 코드를
입력하면 Route를 사용할 셋팅환경은 끝났다.
function App(){
return (
<Routes>
<Route path="/detail/0" element={<div> 0번째 선수 상세페이지 </div>}/>
</Routes>
)
}
Routes태그 안에
Route태그를 넣고 클라이언트가 입력했을때 이동해줄 URL페이지를 path=""로 넣어준다.
element={}안엔 해당 페이지로 접속했을 때 보여줄 HTML태그들을 작성한다.
위 태그는
http://localhost:3000/detail/0으로 접속한다면
아무것도 없는 백지화면
상단에
'0번째 선수 상세페이지'라는 문구만 뜰것이다.
이번 포스팅 내용을 바탕으로
다음 글에서는
실제 만들고싶은 기능을 넣어보자.
반응형