import React from "react"; import { Auth } from "aws-amplify"; import { Route, Redirect } from "react-router-dom"; interface Props { component: React.FC; } const ProtectedRoute: React.FC = ({ component }) => { const [isAuthenticated, setLoggedIn] = React.useState(true); React.useEffect(() => { (async () => { try { let user = await Auth.currentAuthenticatedUser(); if (user) { setLoggedIn(true); } else { setLoggedIn(false); } } catch (e) { setLoggedIn(false); } })(); }); return ( isAuthenticated ? ( React.createElement(component) ) : ( ) } /> ); }; export default ProtectedRoute;