【发布时间】:2017-08-02 19:23:21
【问题描述】:
我正在尝试将我的项目从使用 react-router 的 v3 移植到现在称为 react-router-dom 的 v4。现在,当我有一个与路由逻辑完全分离的 MenuBar 组件时问题就出现了(正如您所期望的那样),因为无论当前路径是什么,它都会显示完全相同的链接。现在这与 v3 配合得很好,但是现在当我使用具有相同 activeClassName 属性的 NavLink 时,活动路由不会在 NavBar 上更新,只会在刷新时更新。这似乎有点愚蠢,所以一定有办法解决这个问题。
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>
);
}
}
上面是我的主要应用逻辑,你可以看到路由是嵌套的,但是路由器本身包裹了整个组件。
我应该添加什么才能让它们再次工作? (它们在页面刷新时确实可以正常工作)
【问题讨论】:
标签: javascript reactjs react-router react-router-v4