2016-09-06 72 views
1

當用戶提交搜索查詢時,我需要在瀏覽器中更改地址(Google所做的一些事情很熟悉)。當我這樣做時,地址會正確更改,但會將我重定向到我的404路線。當我手動輸入文本到地址欄時,我可以看到正確的頁面。當與查詢參數一起使用時,React-router重定向到404

這是我的路線的一部分:

... 
<Route path="some-address" component={MyComponent}> 
    <Route path=":query" /> 
</Route> 
... 

這裏有一個簡化版本我的組件:

​​3210

陣營路由器是2.6.1版本。

回答

0

使用的語法如下:

<Route path="/some-address" component={MyComponent}> 
    <Route path=":query" /> 
</Route> 
+0

沒有幫助 – OlehZiniak

0

這是我設法解決這個問題:

@withRouter 
    @connect(...) 
    export default class MyComponent extends Component { 
     ... 
     render() { 
      return (
       <form onSubmit={(e) => { 
        e.preventDefault(); 
        this.props.router.push({ 
         pathname: this.props.location.pathname, 
         query: e.target.myInput.value && {search: e.target.myInput.value} 
        }) 
       }}> 
        <input name="myInput" /> 
       </form> 
     } 
    }