useNavigate 페이지를 이동할 때 사용, API 응답 후 등 특정 이벤트에 따라 사용자를 다른 경로로 이동
특히 SPA (Single Page Application)에서 경로 전환 관리할 때 유용하다
npm install react-router-dom
import { useNavigate } from "react-router-dom";
function useLogoutTimer() {
const userIsInactive = useFakeInactiveUser();
const navigate = useNavigate();
useEffect(() => {
if (userIsInactive) {
fake.logout();
navigate("/session-timed-out");
}
}, [userIsInactive]);
}
- navigate 변수에 이동시킬 페이지 주소를 넣거나 -1 값을 넣어 페이지 히스토리 뒤로가기 버튼 동작 가능
navigate(-1); // 뒤로 가기
navigate(1); // 앞으로 가기
- 상태 전달 : 내비게이션 시 추가 상태를 전달할 수 있음. useLocation 훅으로 접근
navigate('/about', { state: { from: 'home' } });
import { useLocation } from 'react-router-dom';
function About() {
const location = useLocation();
const { from } = location.state || {};
return (
<div>
<h1>About Page</h1>
{from && <p>Navigated from: {from}</p>}
</div>
);
}
export default About;
- 대체 옵션 (replace) : 히스토리 스택에 새로운 항목을 추가하지 않고 현재 항목을 대체할 수 있음. 이를 통해 뒤로가기 시 원래 페이지로 돌아가지 않게 할 수 있다.
navigate('/about', { replace: true });
useNavigate v6.24.0 | React Router
reactrouter.com
'기초다지기 > react' 카테고리의 다른 글
| [Next.js] 왜 13+부터는 layout.tsx가 필수일까 (0) | 2025.12.04 |
|---|---|
| firestore? (0) | 2024.07.01 |
| react context (0) | 2024.07.01 |
| Firebase에서 onAuthStateChanged 메서드를 사용해 사용자 인증상태 변화 감지 (1) | 2024.06.28 |
| firebase 사용자 생성 후 비밀번호 인증 (0) | 2024.06.28 |