2017-11-04 20 views
2

リア・ルータとリフラックスを使用して少しバージョンが古いアプリを反応させました。 テーブルと検索ボタンがあります。検索ボタンをクリックすると、結果を得るためにajaxリクエストが行われます。現時点では、ユーザーにブックマークを付けるために、検索結果のクエリをURLに追加する必要があります。リアクタ・ルータ - アヤックス・ディープリンクアップ

「window.location.hash」を使用すると、ブラウザのURLにクエリパラメータを追加できます。私は "#"を避けたかった。

しかし、これを達成するためにリアクタ・ルータに方法がありますか?

答えて

0

ユーザが検索クエリをブックマークしたい場合は、データがあるテーブルがレンダリングされているクエリ結果ページに対して、異なるルートの反応ルータを使用できます。

render() { 
    <Route path='/search/:query' component={TableWithData}/> 
} 

TableDataは、表にデータを表示する反応コンポーネントです。リアクションルータはURLの変更(ハッシュなし)を処理し、ユーザは望むならリンクをブックマークすることができます。

+0

答えに感謝します。私は "this.history.pushState"を使ってブラウザのURLに追加することができます。 –

+0

encodeURI(「some string」)を使用すると、pushStateはブラウザにエンコードされたURLを追加していないようですか? –

+0

なぜthis.history.pushにプッシュする必要がありますか? - を使用することができます。プロトコードを表示できますか? –

関連する問題