SPA 방식으로 만들어진 사이트들은 새로고침이 일어나지 않고 내용을 바꿀 수 있습니다.
하지만 url은 바뀌지 않아서 이를 해결할 수 있는 방법이 History API의 pushState() 입니다.
history.pushState(state, title, url);
state에는 저장할 데이터 객체, title에는 브라우저 제목, url은 바뀔 주소입니다.
state와 title은 넣을 값이 없으면 null을 넣어도 됩니다.
pushState로 주소를 바꾼 후 뒤로가기를 하면 popState라는 이벤트가 발생합니다.
window.addEventListener('popstate', function () {
console.log('popstate::', history.state)
});
pushState의 state에 입력한 데이터를 history.state로 접근하여 불러올 수 있습니다.
리액트, 뷰, 앵귤러는 이미 라우터를 이용해서 활용되고 있는 방법입니다.
반응형
'javascript' 카테고리의 다른 글
타입스크립트 기본 타입 (0) | 2020.06.09 |
---|---|
배열 유사배열 (0) | 2020.06.03 |
es6로 0부터 n까지 숫자범위 배열 생성 (0) | 2020.05.12 |
IntersectionObserver 이용한 인피니티 스크롤 예제 (0) | 2020.04.03 |
getBoundingClientRect (0) | 2020.03.23 |