Я пытаюсь проверить ключ sessionStorage и, если он действителен, не показывать страницу регистрации и перенаправлять на панель мониторинга. Но возникает проблема, и он не перенаправляет или не изменяет путь и не показывает компонент реестра снова, даже если пользователь вошел в систему.
Любая помощь будет оценена.
import React, { Component } from 'react';
import { BrowserRouter as Router, Route, Link} from 'react-router-dom';
//import $ from 'jquery';
import Home from './home';
import About from './about';
import Contact from './contactus';
import Register from './register';
import Deshboard from './Deshboard/deshboard';
class MenuBar extends Component
{
requireAuth(nextState,replace)
{
var token = sessionStorage.getItem("authtoken_Session");
if(token != null)
{
replace({pathname: '/deshboard'});
}
else{
replace({pathname: '/register'});
}
}
render()
{
return (
<Router>
<div className="App-header">
<div className="row">
<div className="col-md-4"></div>
<div className="col-md-6"></div>
<div className="col-md-1">
<div className="myAccount"><Link to="/register">My Account</Link></div>
</div>
<div className="col-md-1"></div>
</div>
</div>
<div className="app-menu">
<ul className="clear-fix">
<li><Link to="/">Home</Link> </li>
<li><Link to="/about">About</Link> </li>
<li><Link to="/contact">Contact</Link> </li>
</ul>
<div className="clear"> </div>
</div>
<div className="body">
<Route exact path="/" component={Home}/>
<Route path="/about" component={About}/>
<Route path="/contact" component={Contact}/>
<Route path="/register" component={Register} onEnter={this.requireAuth}/>
<Route path="/deshboard" component={Deshboard} onEnter={this.requireAuth}/>
</div>
</Router>
);
};
}
export default MenuBar;