【发布时间】:2016-10-20 04:39:28
【问题描述】:
我正在通过react-router 迈出第一步。
我目前正在使用hashHistory 进行开发,并且正在执行“手动”导航。也就是说,我不使用Link,而是调用history.push('/some/route');来导航(以响应锚标记上的普通点击)。
我注意到的是,即使我已经在目标路线上,react-router 也会在每次调用 history.push('/target/route'); 时重新渲染相关的目标组件:在每个 push('/target/route') 上:
- URL 的片段部分仍然是
#/target/route - URL 的查询字符串部分更改为
?_k=somethingRandom - 目标组件重新渲染
我希望重新渲染不会发生 - 我实际上希望 history.push 在我已经在尝试 @987654331 的路线上时成为空操作@。
我显然遗漏了一些东西,因为这不是正在发生的事情。有趣的是,我看到那些试图实现我想摆脱的行为的人的帖子 - 他们想“刷新”一条路线而不离开它,可以这么说.这看起来很像相反的问题:)。
您能否告诉我我的误解是什么以及如何实现预期的行为?如果(何时)我切换到browserHistory,这可能会消失吗?
【问题讨论】:
标签: javascript reactjs react-router