💂🏻♂️ Navigation Guards
Protecting Front-end pages in our React App.
What & Why?
How?
//...
import {Route, Switch, Redirect} from 'react-router-dom';
import {useSelector} from 'react-redux';
//...
const App = () => {
const {isLoggedIn} = useSelector(state => state.auth);
return(
<Layout>
<Switch>
<Route path="/" exact>
<HomePage />
</Route>
{!isLoggedIn && (
<Route path="/auth">
<AuthPage />
</Route>
)}
<Route path="/profile">
{isLoggedIn && <UserProfile />}
{!isLoggedIn && <Redirect to="/auth" />}
</Route>
<Route path="*">
<Redirect to="/" />
</Route>
</Switch>
</Layout>
);
}Last updated