Web/React

React - ProtectedRoutes (Private Router)

또롱또 2022. 6. 22. 08:48
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