URLクエリを使用して検索クエリを実行するWebアプリケーションを開発しています。
urlクエリーparamsに従って、検索を実行するときに新しいリクエストをサーバーに送信して新しいデータを取得する必要があります。
react-router
とRedux
を使用して、dispatch
関数を呼び出して、クエリ(URL変更)に従ってサーバーから新しいデータを取得します。react-router RouteのonChangeからディスパッチを呼び出す方法は?
私はこのように、onChange
イベントを使用してdispatch
機能を呼び出すように考えていた:
<IndexRoute component={Catalog} onChange={(prevState, nextState, replace) => {dispatch(fetchProducts(nextState.location.search))}}/>
しかし、私のルートが反応構成要素ではないので、私はディスパッチ機能にアクセスするカント。
私は自分の店をインポートしてstore.dispatch
を使用することができますが、それはお勧めしません。
あなたは私に何をすべきだとお考えですか?問題のこの種を解決するために
なぜ「componentWillMount」リアクションライフサイクルメソッドを使用しないのですか? 'this.props.params'にアクセスして、必要なものをそこにディスパッチすることができます。 – jgldev
私はすべての検索(つまり、URLの変更)でディスパッチを実行したいからです。要求をディスパッチすると、 'catalog'コンポーネントの小道具に影響を与えるストアが変更されるため、' componentWillReceiveProps'を使用すると無限ループになります。 – itaied