【问题标题】:Trigger transition to do replaceState rather than pushState触发转换以执行 replaceState 而不是 pushState
【发布时间】:2015-07-24 20:19:42
【问题描述】:

我正在构建一个显示数据表的组件。当他们向该数据添加和删除过滤器时,我想用 replaceState 修改 queryString,但据我所知,没有方法可以做到这一点。

有没有办法告诉转换使用 replaceState 而不是 pushState?

【问题讨论】:

  • 您能否提供一些代码示例来说明您已经拥有的内容?
  • 不完全是因为我什至没有看到任何具体的尝试。我只玩过库中提供的基本 Link 组件,但是通过 doc itself 看,我什么也没看到。
  • 所以基本上在页面事件上你想在不使用Link的情况下更新url状态,对吧?
  • 它是否使用 Link 无关紧要,我想知道的是 API 中是否有某个地方允许您对历史记录执行 replaceState 而不是 pushState。原因是我的用户不会在他们的历史记录中考虑新条目,但我希望在 URL 中正确反映。
  • 明白了——目标是如果他们离开并返回它会记住他们的过滤器设置?

标签: react-router


【解决方案1】:

在您的contextTypes 上指定history,然后调用this.context.history.replaceState

如果你使用React.createClass,你也可以使用History mixin。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-26
    • 2014-01-31
    • 2023-03-09
    • 2019-01-14
    • 2017-10-06
    • 2017-10-05
    • 2011-10-30
    • 1970-01-01
    相关资源
    最近更新 更多