سلام.
دوستان عزیز من به یه مشکل برخوردم تو ریدایرکت کردن با react-router-dom
زمانی که کاربر لاگین نباشه به یسری صفحات نمیتونه درسترسی داشته باشه و باید ریدایرکت بشه به صفحه لاگین
مشکل اینجاست که url تغییر میکنه به صفحه لاگین میره ولی کامپوننت لاگین رندر نمیشه و صفحه سفید میمونه

این صفحه اصلی


render() {
console.log(this.state)
return (
<div className='fullHeight'>
<div className="fullHeight">
<Switch>
<Route path='/login' component={Login}/>
<Route path='/register' component={Register}/>
<Route path='/forget' component={Forget}/>
<PrivateRoute path='/home' component={Home} auth={this.state.isAuth}/>
{/* <Route component={Home} /> */}
</Switch>
</div>
</div>
)
}


واینم صفحه PrivateRoute که مسیر و کامپوننت رو به صورت prop میگیره


import React, { Component } from 'react';
import propTypes from 'prop-types'
import { Route, Redirect } from 'react-router-dom';
class PrivateRoute extends Component {
static propTypes = {
component : propTypes.func.isRequired,
path : propTypes.string.isRequired,
}
render() {
// console.log(this.props)
const { component : Component , auth : isAuth ,...restProps } = this.props;
return <Route {...restProps} render={(props)=>(
isAuth ? (
<Component {...props} />
) : (
<Redirect to={{pathname : '/login' , state : {from : props.location} }} />
)
)} />
}
}


export default PrivateRoute;