protected route react hooks and context code example
Example 1: react protected routes typescript
import * as React from 'react';
import {
Route,
Redirect,
RouteProps,
RouteComponentProps
} from "react-router-dom";
interface PrivateRouteProps extends RouteProps {
isAuthenticated: boolean;
// Would reccommend this comes from a global state manager
// such as redux, shown using basic props here
}
export class PrivateRoute extends Route {
render() {
return (
{
if(!this.props.isAuthenticated) {
return
}
if(this.props.component) {
return React.createElement(this.props.component);
}
if(this.props.render) {
return this.props.render(props);
}
}} />
);
}
}
// How To Use Them :::::
// OR
(
)}
/>
Example 2: react class and props example
import React, { Component } from 'react'
import './TourList.scss';
import Tour from '../Tour/Tour';
import { tourData } from './tourData';
export default class TourList extends Component {
state={
tours:tourData
}
render() {
const {tours}=this.state
return (
{tours.map(tour=>{
return ;
})}
)
}
}
//------------------------------------------------------
import React, { Component } from 'react';
import './Tour.scss';
export default class Tour extends Component {
state={
showinfo:false,
name:""
}
handleInfo=()=>{
this.setState({
showinfo:!this.state.showinfo,
name:"kumar"
})
}
render() {
const {id,city,name,info,img}=this.props.tour
return (
{name}
{city}
info{""}
{this.state.showinfo && {info}{this.state.name}
}
)
}
}