16. 리액트 라우터의 부가기능
# 리액트 라우터 부가기능 ## useNavigate - Link 컴포넌트를 사용하지 않고 다른 페이지로 이동을 해야하는 상황에 사용 ```javascript //Layout.js import { Outlet, useNavigate } from 'react-router-dom'; const Layout = () => { const navigate = useNavigate(); const goBack = () => { // 이전 페이지로 이동 navigate(-1); }; const goArticles = () => { // articles 경로로 이동 navigate('/articles'); }; const goArticles2 = () => { navigate('/articles', { replace: true }); }; return (
-
(isActive ? activeStyle : undefined)} >게시글 1 -
(isActive ? activeStyle : undefined)} > 게시글 2 -
(isActive ? activeStyle : undefined)} > 게시글 3
404
); }; export default NotFound; //App.js import { Route, Routes } from 'react-router-dom'; import Layout from './Layout'; import About from './pages/About'; import Article from './pages/Article'; import Articles from './pages/Articles'; import Home from './pages/Home'; import NotFound from './pages/NotFound'; import Profile from './pages/Profile'; const App = () => { return ( 로그인 페이지
; }; export default Login; //MyPage.js import { Navigate } from 'react-router-dom'; const MyPage = () => { const isLoggedIn = false; if (!isLoggedIn) { return 마이 페이지
; }; export default MyPage ``` - 마이페이지 이동 시, 로그인 여부에 따라 - isLoggedIn 이 false 이면 로그인 페이지로 이동