개인 프로젝트를 진행하면서 페이지를 전환하는 경우 이전 페이지의 스크롤이 아래로 내려가 있었다면, 그 위치를 유지한채로 다음 페이지로 이동하는 문제가 있었습니다.
// ScrollToTop.jsx
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;
}
저는 해당 컴포넌트를 최상단인 index.js에 넣어줬습니다.
// index.js
const container = document.getElementById("root");
const root = createRoot(container);
root.render(
<BrowserRouter>
<RecoilRoot>
<ScrollToTop />
<App />
</RecoilRoot>
</BrowserRouter>
);