반응형
const { isLoggedIn } = useAuth();
useAuth 훅을 사용해서 isLoggedIn 상태값을 가져오고
이걸로 현재 사용자가 로그인되어 있는지 확인할 수 있다!
const navigate = useNavigate();
useNavigate 훅을 사용해서 페이지 간 이동을 처리할 수 있다!
useEffect(() => {
if (!isLoggedIn) {
navigate('/signin');
alert('로그인이 필요합니다. 로그인 페이지로 이동합니다.');
}
}, [isLoggedIn, navigate]);
반응형
useEffect를 사용해서 컴포넌트가 렌더링될 때마다 로그인 여부를 체크한다!
useEffect 내에서 if문을 사용해서 만약 현재 사용자가 로그인되어 있지 않은 경우에는
/signin(로그인 페이지)으로 리디렉션하고 경고 메시지를 표시한다!
return null;
마지막으로, 컴포넌트의 리턴값으로 null을 설정한다!
컴포넌트 자체가 화면에 나타나지 않도록 하기 위함이다!
이 코드를 다른 경로에 적용하면
해당 경로에 접근하려는 사용자가 로그인하지 않은 경우, 자동으로 로그인 페이지로 리디렉션된다!
반응형
'Project > final' 카테고리의 다른 글
[9.21(목) 북스탁 프로젝트] 실시간 인기도서 순위 보여주기 | MainRanking (0) | 2023.09.22 |
---|---|
[9.20(수) 북스탁 프로젝트] Category Modal 카테고리 모달창 구현 | 메인카테고리와 서브카테고리 보여주기 (0) | 2023.09.21 |
[9.18(월) 북스탁 프로젝트] 네이버 소셜로그인 구현 | 네이버 간편로그인API연결하기(node.js) (0) | 2023.09.20 |
[9.16(토) 북스탁 프로젝트] 2차 멘토링 대대성공!! 칭찬일색 ~ 피드백 100% 수용했다! (0) | 2023.09.19 |
[9.15(금) 북스탁 프로젝트] 카카오 소셜로그인 구현 | 카카오 간편로그인API연결하기(node.js) (0) | 2023.09.16 |