在我的应用程序中,我有一个<NavBar/>
组件,其中包含一些链接,告诉后端在指定的状态中返回一个随机location_id
。这很有效,但由于我browserHistory.replace()
random
路径返回location_id
路径,<NavLink/>
不再与路由器路径匹配,因此不会保留active
}。有没有办法让<Link/>
组件与location_id
的每个random
匹配,即如果网址为MA
,则/locations/MA/1
链接将保持有效,{ {1}},或更一般地/locations/MA/random
。但继续指向/locations/MA/*
?
locations/MA/random
答案 0 :(得分:1)
一种方法是配置&#39;到&#39;组件的属性为&#34; / locations / MA&#34;这样它对所有&#34; / locations / MA / *&#34;保持活跃。但是将它绑定到&#39; onClick&#39;像这样的功能
const onLinkClick = (evt) => {
evt.preventDefault()
history.push('locations/MA/random')
}
现在虽然它对所有比赛都保持有效,但它只会导航到一个网址