728x90
// Outlet - 렌더링하는 영역을 구현하는 Directive
import { Outlet } from "react-router-dom";
import Signin from '../../Pages/Signin'
const useAuth = () =>{
const token = localStorage.getItem("Authorization")
return token;
}
const ProtectedRoutes = () =>{
const isAuth = useAuth();
return isAuth !== null ? <Outlet /> : <Signin />
}
export default ProtectedRoutes;
// 아래처럼 감싸주면 된다.
<Route element={<ProtectedRoutes />} >
<Route path="/mypage" element={<Mypage />} />
<Route path="/post" element={<Post />} />
<Route path="/UpdateUserInfo" element={<UpdateUserInfo />}/>
<Route path="/Detail/:id" element={<Detail />}/>
</Route>
728x90
'Web > React' 카테고리의 다른 글
React - Loadable Components를 통한 코드 스플리팅 (0) | 2022.06.25 |
---|---|
React - Prettier, Eslint (0) | 2022.06.24 |
React vs Vue (0) | 2022.06.21 |
React - Restful API 사용 하다 배운점 (0) | 2022.06.16 |
React - 핵심모듈, a vs Link, NavLink (0) | 2022.06.14 |