Я хочу отобразить панель навигации со ссылками на страницы входа и регистрации, но всякий раз, когда я нажимаю на них, URL-адрес изменяется так, как я хотел, но соответствующие компоненты не отображаются. Вот мой код:
Приложение. js
import React, { Component } from 'react';
import NavBar from './components/NavBar/NavBar';
import {BrowserRouter as Router,Route,withRouter} from "react-router-dom";
import Login from './components/Login';
import SignUp from './components/SignUp';
import Landing from './components/Landing';
class App extends Component {
render() {
return (
<Router>
<div className="App">
<NavBar />
<Route exact path="/" component={withRouter(Landing)} />
<div className="container">
<Route exact path="/login" component={withRouter(Login)} />
<Route exact path="/signup" component={withRouter(SignUp)} />
</div>
</div>
</Router>
);
}
}
export default App;
NavBar. js
import React,{Component} from "react";
import {BrowserRouter as Router,withRouter,Link} from "react-router-dom";
import './NavBar.css'
class NavBar extends Component {
render() {
return (
<Router>
<header className='navbar'>
<nav className='navbar_navigation'>
<div />
<div className='navbar_logo'>
<Link to='/'>Home</Link>
</div>
<div className='navbar_nav-items'>
<ul>
<li><Link to="/signup" className="nav-link">Sign up</Link></li>
<li><Link to="/login" className="nav-link">Log In</Link></li>
<li><Link to="/guest-env" className="nav-link">Continue as guest</Link></li>
</ul>
</div>
</nav>
</header>
</Router>
);
}
}
export default withRouter(NavBar);
Landing, Login и Registration - это в основном компоненты, которые пока просто отображают текст в h2, так как я хочу проверить, нормально ли они отображаются. Также, когда я go напрямую перехожу к соответствующим URL-адресам: / login или / signup, я не вижу никаких изменений, и панель навигации - единственное, что отображается в этих URL-адресах. Я тоже пробовал добавить переключатель, но ничего не изменилось.