26 lines
549 B
JavaScript
26 lines
549 B
JavaScript
import React from "react";
|
|
import { useSelector } from "react-redux";
|
|
import { Redirect, Route } from "react-router-dom";
|
|
|
|
export default function PrivateRoute({ component, ...rest }) {
|
|
const loggedIn = useSelector((state) => state.data.loggedIn);
|
|
|
|
return (
|
|
<Route
|
|
{...rest}
|
|
render={({ location }) =>
|
|
loggedIn ? (
|
|
component
|
|
) : (
|
|
<Redirect
|
|
to={{
|
|
pathname: "/login",
|
|
state: { from: location },
|
|
}}
|
|
/>
|
|
)
|
|
}
|
|
/>
|
|
);
|
|
}
|