2016-08-18 16 views
1

URLのクエリに基づいて異なるコンテンツを持つ反応ページを作成しようとしています。例:物事?タイプ= 0と物事?タイプ= 1は異なるフィルタリングされたコンテンツをもたらします。反応ページがURLクエリの変更で再レンダリングされない

問題はReactがこれらのページに切り替えるときに私のページの再レンダリングを引き起こさないということです。希望の結果を得るためにページを手動で更新する必要があります。

ビルド・イン・ライフサイクル機能を使用しようとしましたが、そのうちのどれもがページをリフレッシュするようトリガーしませんでした。それは私の私が(ノーページの更新よりも良いが、ユーザーフレンドリーではありません)私のフィルタリングコンテンツおそらく、使用したいと思うでしょう https://facebook.github.io/react/docs/component-specs.html

答えて

0

を取得するためにリンクを二回クリックする必要があり、その後でcomponentWillReceiveProps方法でフェッチ実行しようとしましたhttps://github.com/reactjs/react-routerまたはいくつかの同様の経路ライブラリ。

あなたが自分自身に行きたい場合は、ブラウザ履歴の変更を聞く必要があります。たとえば、次のようにすることができます。

componentDidMount: function() { 
    var component = this; 

    window.onpopstate = function() { 
    console.log(window.history.state); 
    component.setState({ 
     query: window.location.search 
    }); 
    }; 
}; 

これは良い方法であるかどうかはわかりませんが、少なくとも動作するはずです。

+0

はい、私は反応ルータを使用しています。私はあなたの解決策を試みましたが、ページの更新はまだありません。 – berndbousard

関連する問題