Skip to content

Instantly share code, notes, and snippets.

@aderbas
Last active October 23, 2019 14:05
Show Gist options
  • Save aderbas/7fe3f89ee041c826119d6390ee466fe3 to your computer and use it in GitHub Desktop.
Save aderbas/7fe3f89ee041c826119d6390ee466fe3 to your computer and use it in GitHub Desktop.
React private router
/**
* Private router
* @author: Aderbal Nunes <aderbalnunes@gmail.com>
*/
import React from "react";
import {Route, Redirect} from 'react-router-dom';
// my session manager component
import session from './session';
function PrivateRouter({component: Component, ...rest}){
const {sharedObject} = rest;
return (
<Route
{...rest}
render={props => session.isAutenticated()
? <Component sharedObject={sharedObject} {...props} />
: <Redirect
to={{
pathname: session.isAutenticated()?'/home':'/login',
state: {from: props.location}
}}
/>
}
/>
);
}
export default PrivateRouter;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment