Extend PrivateRoute to allow render functions

This commit is contained in:
Marquis Kurt 2020-01-07 11:24:34 -05:00
parent a12b14d10d
commit 77c32f4ec2
No known key found for this signature in database
GPG Key ID: 725636D259F5402D
1 changed files with 6 additions and 5 deletions

View File

@ -78,14 +78,14 @@ export const ProfileRoute = (rest: any, component: Component) => (
export const PrivateRoute = (props: IPrivateRouteProps) => {
const { component, render, ...rest } = props;
const redir = (comp: any) =>
userLoggedIn ? comp : <Redirect to="/welcome" />;
return (
<Route
{...rest}
render={(compProps: any) =>
userLoggedIn() ? (
React.createElement(component, compProps)
) : (
<Redirect to="/welcome" />
redir(
React.createElement(render ? render : component, compProps)
)
}
/>
@ -93,5 +93,6 @@ export const PrivateRoute = (props: IPrivateRouteProps) => {
};
interface IPrivateRouteProps extends RouteProps {
component: any;
component?: any;
render?: any;
}