React-Router - 更新BrowserHistory而不刷新页面

时间:2016-07-29 00:10:43

标签: reactjs react-router

我遇到了反应路由器的独特问题 - 我说这是唯一的,因为我无法在文档中找到任何内容。

作品很棒:

当用户在/路由加载以下反应应用时,会将其重定向到/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}/>

1 个答案:

答案 0 :(得分:2)

听起来您想在replaceState使用此pushStatereplaceState将使用提供的网址替换历史记录条目,因此用户似乎永远不会访问您的/随机网址。

相关API:https://github.com/reactjs/react-router/blob/master/docs/API.md#replacepathorloc

参考:https://developer.mozilla.org/en-US/docs/Web/API/History