Я делаю целевую страницу для своего сайта, которая будет иметь 3 компонента - верхний, главный и нижний колонтитулы, только для целевой страницы. Компонент заголовка - это просто панель навигации с логотипом слева и кнопкой входа справа.
Когда нажимается кнопка входа, я визуализирую маршрут входа с помощью маршрутизатора, но проблема в том, что предыдущие компоненты целевой страницы (заголовок, основная и посадочная страница) также отображаются с новым маршрутизированным компонентом входа в систему.
Вот мой App.js
файл, в который вставлен лендинг.
import React, {Component} from 'react';
import Landing from './components/Landing/Landing';
class App extends Component {
render() {
return (
<div className="App">
<Landing/>
</div>
);
}
}
export default App;
и в компоненте Landing у меня есть такая настройка:
import React, {Component} from 'react';
import Header from './Header';
import Main from './Main';
import Footer from './Footer'
class Landing extends Component {
render() {
return (
<div className="container__landing">
<Header/>
<Main/>
<Footer/>
</div>
);
}
}
export default Landing;
Вот мой компонент заголовка, для краткости я оставил два других компонента:
import React, {Component} from 'react';
import {BrowserRouter as Router, Link} from 'react-router-dom';
import {Route, Switch} from 'react-router';
import Login from '../auth/Login';
class Header extends Component {
render() {
return (
<Router>
<header className="header">
<div className="header__nav">
<p>STRONG LIVE</p>
<button className="sign_in">
<Link to="/login">
Sign In
</Link>
</button>
</div>
<Route exact path="/login" component={Login}/>
</header>
</Router>
)
}
}
export default Header;
Компонент входа в систему отображается, но он помещается внутри компонента лендинга вместе с заголовком и другими присутствующими компонентами.
Я хочу, чтобы страница входа была автономной и без заголовка, который в настоящее время находится над ней. Я видел какой-то учебник, в котором они использовали props.history.push('/path)
, но в React Dev Tools ни один из моих компонентов не имеет этих свойств. Как переключать компоненты при нажатии кнопки? Спасибо.