페이지 이동 시 항상 맨 위로 스크롤 이동하기

dongwon·2021년 5월 10일
1

UI/UX

목록 보기
3/7

페이지 이동 시 항상 맨 위로 스크롤 이동하기

페이지 이동 시 이전 페이지의 스크롤 값이 변하지 않아 다음 페이지에도 스크롤이 내려가있는 문제를 해결했습니다.

컴포넌트 준비

다음 페이지 컴포넌트

import React, { useEffect } from "react";
1️⃣import { useLocation } from "react-router";
import Details from "../components/Details";

const DetailPage = ({ match }) => {
  const storeId = match.params.storeId;

  const { pathname } = useLocation();

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

  return <Details storeId={storeId} />;
};

export default DetailPage;
  1. react-routeruseLocation hook
    useLocation hook을 사용하면 location 객체에 접근할 수 있습니다.
  2. pathnamewindow 객체
    locationpathname을 이용해 페이지 이동이 감지가 되면 window객체의 scrollTo 속성을 (0,0)으로 설정해 페이지를 맨 위로 이동시킵니다.
profile
데이원컴퍼니 프론트엔드 개발자입니다.

0개의 댓글