我开始在代码中使用React Router,但是<Link>
甚至<a>
标记生成的所有链接都不起作用。当我将鼠标放在这些链接上时,我可以看到正确的URL,但是当我单击它们时,什么也没有发生。我的意思是浏览器中的URL不变。看来我用过e.preventDefault
!由于我是React Router的新手,所以我想念了一些东西。
这是代码的一部分(完整的代码很长):
index.js:
<Router>
...
<Menu />
...
<Switch>
<Route path='/smodel/datasource' component={DataSource}/>
</Switch>
...
</Router>
menu.js
<Link to="/smodel/datasource">New</Link>;
由于我使用了redux,因此在两个页面上都使用了withRouter
函数进行连接。
答案 0 :(得分:0)
您需要像下面那样重组代码
...
<Menu />
...
<Router>
<Switch>
<Route path='/smodel/datasource' component={DataSource}/>
</Switch>
</Router>
在<Menu />
中包含<Router />
的情况下,必须有<Route />
。您只是在分配链接,因此它们需要位于<Router />
之外。
<Router />
可以具有<Switch />
和<div />
或任何元素,并且可以与<Route />
s嵌套在一起。