03:02(~04:55) progress bar onScroll 콜백 함수 구현
*04:55까지 시청한 후 해설노트를 읽어주세요.
document.documentElement.scrollTop: scroll한 높이
document.documentElement.scrollHeight: 페이지 전체 높이(스크롤 범위 포함)
document.documentElement.clientHeight: 페이지 전체 높이(스크롤 범위 제외, 즉 viewport 높이)
정리: '스크롤 포함한 전체 높이' - '스크롤 제외한 전체높이'는 스크롤 영역의 높이죠? 이것을 현재 스크롤 된 높이만큼으로 나눈다면 아래와 같은 식이 됩니다.
'스크롤 된 높이/스크롤 가능 높이'
그래서 스크롤을 제일 아래까지 하면 1이 되고 스크롤을 하나도 하지 않으면 0이 되겠죠
여기에 100을 곱해서 percentage화 시킨 것입니다.
05:23(~07:06) onScroll 콜백함수가 scroll action 될 때 호출되도록 useEffect로 구현 & 스크롤 된 %만큼 background-color의 width 되도록 CSS 작성
해당 학습노트에서는 react router 버전6에서 redirect를 어떻게 구현하는지 소개합니다.
공식 문서: https://reactrouter.com/
00:50
react router 버전5에서 redirect를 구현하는 방법입니다.
*예상 시나리오: pathname이 '/redirect'인 page 접근 시 pathname '/about'인 page로 전환됨
*특정 pathname에 redirect 로직을 등록하는 이유는 가지각색이겠지만 그 중 대표적인 용도는 로그인 여부 검사입니다. 서비스를 이용하는 유저가 로그인을 했을 경우 특정 pathname에 접근하지 못하도록 사용하는 것이죠.