2016-06-12 58 views
0

我想弄清楚如何做到这一点。我有一个参数对象,看起来像这样:更改URL而不触发重投

{ 
    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到底部url的末尾而不触发重定向或重新渲染。

+0

我假设你正在使用的反应路由器?可能希望将此信息添加到您的问题中,并提供您想要实现的行为的更完整描述。 – Mark

+0

会做,对此感到抱歉。 – Kris

+0

为什么你在getInitialState里面做transitionTo?这没有意义。 –

回答

0

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

编辑

问题讨论here

+0

为了达到初始状态,应该在哪里调用其中之一? – Kris

+0

您不想在初始化组件时打开不同的页面,是吗?你想有在该国的网址,这是好的,但你为什么需要导航?或者你试图从参数建立Url?请在问题中加入更多的代码,以便明确你想要做什么。 –

+0

我已更新我的问题。我感谢所有的帮助! – Kris