У меня есть простая одностраничная настройка приложения React с навигацией, содержанием и нижним колонтитулом. Сам Navbar состоит из двух суб-навигаторов: один для каждой страницы, и тот, который должен динамически изменяться на основе маршрута (навигация по страницам).React router: информация о навигации на основе маршрута
Так в основном, у меня есть один компонент верхнего уровня Container
:
<Navbar>
<Navbar.Main/>
<Navbar.Page/>
</Navbar>
{this.props.children}
<Footer/>
и маршруты, определенные в приложении:
<Router history={browserHistory}>
<Route component={Container}>
<IndexRoute component={Home} />
<Route path="/" component={Home} />
<Route path="/contact" component={Contact} />
<Route path="/about" component={About} />
<Route path="*" component={NotFound} />
</Route>
</Router>
Хотя содержание страницы будет изменяться в пределах {this.props.children}
части, я бы как изменить содержание <Navbar.Page/>
навигационный компонент на основе маршрута (контактная страница должна иметь контактную навигационную панель и т. д.).
Я знаю, что я могу легко достичь этого, создавая страницу navbar на странице, но я бы хотел сохранить рендеринг в самой навигационной панели.
Я нашел решение здесь: http://rabbitfighter.net/?p=1027 – aL3xa
Разве это не так, как мой ответ, кроме того, я объяснил логику. – FurkanO