Может ли кто-нибудь переписать фрагмент кода из документов о прохождении маршрута в класс, который я лучше понимаю.
`
const PrivateRoute = ({ component: Component, ...rest }) => (
<Route
{...rest}
render={props =>
fakeAuth.isAuthenticated ? (
<Component {...props} />
) : (
<Redirect
to={{
pathname: "/login",
state: { from: props.location }
}}
/>
)
}
/>
);
`
Я пытался, но у меня TypeError: instance.render is not a function
, и я не знаю, что следует изменить, я новичок в JS и React.
`
class ProtectedRoute extends React.Component{
constructor(props){
super(props)
}
render(){
return(<Route path={this.props.path} render={props => {
if(store.getState().loginReducer.loggedIn === true){
return <Component component = {this.props.component} />
}
else{
let token = localStorage.getItem("token");
if(token){
let receivedAt = localStorage.getItem("receivedAt");
if(Date.now() - receivedAt < 120*60*1000){
this.props.dispatch(validateLogin(token));
return(<LoadingSpinner/>);
}
else {
return <Redirect to={{pathname: "/login", state: {from: props.location}}}/>;
}
}
else{
return <Redirect to={{pathname: "/login", state: { from: props.location }}}/>;
}
}
}}/>)
}
}
`