У меня есть страница реакции, которая отображает либо страницу входа, либо компонент navbar + container на основе текущего маршрута.Я не хочу, чтобы навигационная панель была видна на странице входа.Таким образом, мое приложение имеет следующую структуру:
index.js
ReactDOM.render(<Main/>, document.getElementById('root'));
Main.js
<Router>
<Switch>
<Route path="/login" component={Login} />
<PrivateRoute path="/" component={App} />
</Switch>
</Router>
App.js
<Router>
<div className="App">
<Navbar/>
<div className="main-container">
<Switch>
<Route exact path="/" component={Container1}/>
<Route path="/route1" component={Container2}/>
<Route path="/route2" component={Container3}/>
</Switch>
</div>
</div>
</Router>
Теперь, если внутри какого-либо из компонентов Container я хочу сделать this.props.history.push ('/ login'), он влияет только на ближайший и, таким образом, ничего не рендерит в области контейнера (так как ни один из маршрутов не соответствует)но держать навигационную панель видимойКак я могу получить родительский из Main.js, чтобы решить, что делать при программном изменении маршрута?Должен ли я структурировать приложение другим способом?
Спасибо.