페이지 이동 시 이전 페이지의 스크롤 값이 변하지 않아 다음 페이지에도 스크롤이 내려가있는 문제를 해결했습니다.
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;
react-router
의 useLocation hook
useLocation hook
을 사용하면 location
객체에 접근할 수 있습니다.pathname
과 window
객체location
의 pathname
을 이용해 페이지 이동이 감지가 되면 window
객체의 scrollTo
속성을 (0,0)
으로 설정해 페이지를 맨 위로 이동시킵니다.