我遇到了反应路由器的独特问题 - 我说这是唯一的,因为我无法在文档中找到任何内容。
作品很棒:
当用户在/
路由加载以下反应应用时,会将其重定向到/locations/random
路由,然后在GET
块中触发API shouldComponentUpdate
请求。检索数据并将其存储在LocationStore
组件中后,会向Dashboard
组件发出一个事件,以使用检索到的数据呈现新行。一切都很好。
问题区域:
检索数据并将其存储在LocationStore
后,我想获取数据id
的{{1}}属性并将该值放入当前可见网址,即{{ 1}}而不是data.id
因此用户可以在以后导航回来,但是当我执行locations/100
时,它再次点击locations/random
并且整个过程再次开始,这意味着相同的数据是被再次检索。有没有办法更新可见网址并将其保存在browserHistory.push('locations/100');
而不触发Router
?或者有没有办法创建像browserHistory
这样的新Router
?
Route
工作更新:
<Route path="/locations/random" hiddenFromHistory=true component={Dashboard}/>
答案 0 :(得分:2)
听起来您想在replaceState
使用此pushState
。 replaceState
将使用提供的网址替换历史记录条目,因此用户似乎永远不会访问您的/随机网址。
相关API:https://github.com/reactjs/react-router/blob/master/docs/API.md#replacepathorloc