예전에 웹 페이지에서는 페이지를 보여줄 때 여러페이지로 구성이 되어있었다.(A html, B html..
)
그리고 페이지를 로딩할때마다 서버에서 리소스를 전달받아와서 렌더링했다. 즉, 웹 어플리케이션 뷰를 서버에서 담당했었다. 하지만, 규모가 커지고 사용자와의 상호 작용이 많아짐에 따라, 데이터 정보 전송 과부화로 인한 속도 저하 등 문제점이 생기게 되었다.
이를 해결하기 위해 SPA는 하나의 페이지(index.html)에 담아 동적으로 화면을 바꿔가며 표현한다. 사용자에게 보여준 페이지는 한 페이지지만, 사용자가 원하는 해당 페이지와 현재 사용자 브라우저의 주소 상태에 따라 다양한 화면을 보여 줄 수 있다.다른 주소에 다른 화면을 보여주는것을 Routing(라우팅) 이라고 하며, SPA에서 페이지 전환은 react-router
를 이용해 가능하다.
React Router
를 사용npm install react-router-dom --save
App.js
import React from "react";
import { Route, Routes, BrowserRouter } from "react-router-dom";
import LoginPage from "./Components/views/LoginPage/LoginPage";
function App() {
return (
<BrowserRouter>
<Routes>
<Route path="/login" element={<LoginPage/>}/>
</Routes>
</BrowserRouter>
);
}
export default App;
<BrowserRouter>
태그로 감싸기<Routes>
: 여러 Route를 감싸서 그 중에서 해당되는 Route를 렌더링 해주는 역할<Route>
: path 속성에는 경로를 element 속성에는 보여주고 싶은 컴포넌트를 넣어주면됨<Link to="경로">링크 이름 </Link>