[SPA]React SPA
SPA(Single Page Application)
서버로부터 페이지 갱신에 필요한 데이터만 받아 현재의 페이지를 업데이트 하는 방식
장점
- 필요한 데이터만 받아 화면을 업데이트 하기 때문에 사용자와 interaction에 빠르게 반응
- 서버는 요청 받은 데이터만 전달하면 되기 때문에 서버 과부하 문제 저하
- 전체 페이지를 렌더링할 필요가 없기 때문에 더 나은 유저경험 제공
단점
-
JS파일 크기가 크기 때문에 첫 로딩이 길어진다.
-
검색엔진최적화(SEO)가 좋지 않다. 보통 검색포털사이트는 HTML 자료를 분석하는 방식으로 구동하기 때문이다.
Wireframe
선을 이용해 윤곽선을 잡는 것
React Router(라이브러리)
SPA는 하나의 페이지를 가지고 있지만 한 종류의 화면만 사용하지는 않는다.
따라서 주소도 달라지며 다른 주소에 따라 다른 뷰를 보여주는 과정을 라우팅(Routing)이라고 한다.
주요 컴포넌트
- BrowserRouter - 라우터 역할
- Routes, Route - 경로 매칭
- Link - 경로 변경
위 컴포넌트를 사용하기 위해서 라이브러리에서 따로 불러와야한다
import { BrowserRouter, Routes, Route, Link } from "react-router-dom";
import는 비구조화 할당과 비슷하게 이용, 필요한 모듈을 불러오는 역할
설치
- npx create-react-app 이름 - React App 설치
- npm install react-router-dom@^6.3.0 - router 설치
react-router 컴포넌트 꺼내오기
import React from "react";
import { BrowerRouter, Routes, Route, Link } from "react-router-dom";
export default function App(){
return (...)
}
path=”*” 지정되지 않은 주소로 접근할 시에는 이 속성이 설정되어 있는 컴포넌트를 보여줌
ReactDOM으로 렌더를 시키게 되면 Link 컴포넌트는 a 요소로 바뀜
Link 컴포넌트는 페이지 전환을 방지하는 기능이 내장되어 있기 때문에 SPA 구현가능
a요소인 경우 새로고침을 포함
export defalt에 대해 찾아보자
댓글남기기