我的根组件如下所示:
bp_Continent <- barplot(table(Response$continent),
main = "Distribucion de DS por continentes",
ylim = c(0,3500)
)
text(x = bp_Continent, y= table(Response$continent),
label = paste("H/M = ", EtiquetaBarPlot) ,
pos = 3, cex = 0.8, col = "red")
,然后显示我的 Menu 组件:
ReactDOM.render(
<Provider store={store}>
<Router>
<Menu />
<Switch>
<Route path='/'>
<Home />
</Route>
<Route path='/about'>
<About />
</Route>
</Switch>
</Router>
</Provider>,
document.getElementById('root')
)
问题是,当我单击相关链接时,我的function Menu() {
return (
<ul className='menu'>
<li className='menu-item'>
<Link to='/'>Home</Link>
</li>
<li className='menu-item'>
<Link to='/about'>About</Link>
</li>
</ul>
)
}
export default withRouter(Menu)
组件未呈现,但URL显示在URL栏中。我不确定出什么问题了,我已经解决了与该主题相关的所有问题,他们的建议都没有帮助我。我正在使用About
,但我认为这不是导致问题的原因。请帮忙!
答案 0 :(得分:2)
如上所述,应将exact
道具添加到呈现Home
组件的路线中:
<Router>
...
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
...
</Router>
这样做的原因是将Home
组件的呈现限制为与"/"
完全匹配。如果没有exact
道具,则Home
组件也会针对其他部分匹配的路线(即"/about"
,将被视为部分匹配)呈现。
其他一些建议;您可以考虑通过执行以下操作,通过component
组件上的Route
道具来分配为路线渲染的组件:
<Route exact path="/" component={Home} />
此外,您可以避免将Menu
组件与withRouter
包装在一起。
对于一个有效的示例,see this link-希望这些指针对您有所帮助! :)
答案 1 :(得分:1)
像这样将exact
添加到您的溃败中
<Route exact path='/'>
<Home />
</Route>
<Route exact path='/about'>
<About />
</Route>
答案 2 :(得分:0)
像这样使用Router
逻辑。
<Provider store={store}>
<Router>
<Menu />
<Switch>
<Route path='/' exact component = {Home}/>
<Route path='/about' exact component = {About}/>
</Switch>
</Router>
</Provider>,