在不触发重新呈现的情况下更改URL

时间:2016-06-12 23:38:16

标签: javascript reactjs react-router

我试图弄清楚如何做到这一点。我有一个看起来像这样的参数对象:

{
  param1: value,
  param2: value2,
  filers:[
    filter1, 
    filter2
  ]
}

这是我的示例代码,在getInitialState方法中调用。

var parameters = {PARAMETERS_OBJECT}
this.transitionTo(route, null, parameters);

这样做是重新渲染页面3次,它完全搞砸了URL以及进行额外的API调用。

有什么方法可以初始化不会导致重新呈现或重定向的URL?

编辑:我正在使用react-router

基本上,这里是用例。

页面已加载:/url 加载页面后,我想将?queryString=this&that=this附加到基本网址的末尾,而不会触发重定向或重新呈现。

1 个答案:

答案 0 :(得分:0)

您不应在getInitialState方法中使用transitionTo。对于React-router v2 +,请勿在历史记录中使用transitionTo,而是使用push方法。

编辑

问题讨论了here