Я пытаюсь перенести свой проект с версии 3 react-router
на версию 4 того, что сейчас называется react-router-dom
. Теперь проблемы возникают, когда у меня есть компонент MenuBar, который полностью отделен от логики маршрутизации (как и следовало ожидать), потому что он будет показывать одни и те же ссылки, каким бы ни был текущий путь. Теперь все это прекрасно работало с v3, но теперь, когда я использую NavLink
, который имеет то же свойство activeClassName
, активный маршрут не обновляется на панели навигации, а только при обновлении. Это кажется немного глупым, поэтому должен быть способ обойти это.
export default @inject('ui') @observer class App extends Component {
render() {
return (
<Router>
<div className={ styles.wrapper }>
<Sidebar />
<main className={ `${styles.main} ${!this.props.ui.menuOpen && styles.closed}` }>
<Route exact path="/" component={ HomePage } />
<Route path="/signup" component={ SignUpPage } />
<Route path="/login" component={ LoginPage } />
<Route path="/about" component={ AboutPage } />
</main>
<footer className="site-footer"></footer>
</div>
</Router>
);
}
}
Выше приведена логика моего основного приложения, и, как вы можете видеть, маршруты вложены друг в друга, но сам маршрутизатор охватывает весь компонент.
Что нужно добавить, чтобы они снова заработали? (Они работают правильно при обновлении страницы)