티스토리 뷰

프로그래밍/React

Scroll Restoration

수박수박좋다 2021. 4. 30. 01:54
반응형

Scroll Restoration


Browsers are starting to handle scroll restoration with history.

React-router-dom에서 Scroll Restoration 을 기본적으로 지원한다. 옵션엔 auto , manual이 있다.

auto면 이미 방문한 곳의 이전 스크롤을 복원해준다.

현재 프로젝트에서 post list를 보는 곳은 스크롤이 복원되어야하지만, post 상세보기에서는 맨 위로 위치시켜야한다. 따라서 detail 페이지에 라우팅되었을 때 스크롤을 최상단으로 위치하는 함수를 추가해야한다.

import { useEffect } from "react";
import { useLocation } from "react-router-dom";

export default function ScrollToTop() {
  const { pathname } = useLocation();

  useEffect(() => {
    window.scrollTo(0, 0);
  }, [pathname]);

  return null;
}

오 타이포라 코드타입에 아이콘이 추가되었네 ? !

docs에선 해당 방법을 사용하라고 되어있다.

pathName이 변경될 때마다 스크롤을 최상단으로 위치시키는 기능이다.

다른 페이지에서도 사용될 것 같으니 custom으로 빼서 재사용하도록 해야겠다.

반응형

'프로그래밍 > React' 카테고리의 다른 글

React에서 Infinite scroll 구현하기 (IntersectionObserver)  (0) 2021.06.19
Styled-Components With TS(theme, globalStyle)  (0) 2021.06.12
recoil 정리  (0) 2021.05.25
React에서의 Key의 역할  (0) 2021.04.20
SSR ,CSR  (0) 2021.04.20
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
농담곰의 고군분투 개발기