원래 두 개 이상의 페이지를 만들 때, a 페이지를 만들면 a.html을, b 페이지를 만들면 b.html을 만들어줘야 했다. 이 방식이 전통적인 웹 사이트를 만들 때 사용하는 Multi Page Application 이다.
요즘에는 웹 사이트의 전체 페이지를 하나의 페이지에 담아 동적으로 화면을 바꿔가며 표현하는 방식을 사용한다. 이것을 Single Page Application 이라고 한다.
create-react-app 으로 생성한 프로젝트의 html 템플릿 파일이다.
div
엘리먼트의 id를 root로 해놓았다.
자바스크립트의 시작점이다. root id를 가진 div
엘리먼트를 잡아주면 그 엘리먼트 안에서 화면을 꾸밀 수 있게 된다.
HTML5의 History API를 사용한다. 자바스크립트 영역에서 History API를 이용해서 현재 페이지 내에서 화면 이동이 일어난 것처럼 작동하게 해준다.
메소드 | |
---|---|
History.back() | 세션 기록의 바로 뒤 페이지로 이동 (=브라우저의 뒤로 가기) |
History.forward() | 세션 기록의 바로 앞 페이지로 이동 (=브라우저의 앞으로 가기) |
History.go() | 특정한 세션 기록으로 이동 (1을 넣어 호출하면 바로 앞 페이지로, -1을 넣어 호출하면 바로 뒤 페이지로 이동) |
History.pushState() | 주어진 데이터를 세션 기록 스택에 추가 (직렬화 가능한 모든 Javascript 객체를 저장 가능) |
History.replaceState() | 최근 세션 기록 스택의 내용을 주어진 데이터로 교체 |