問題タブ [react-router-redux]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
2003 参照

javascript - react-router-redux: history.listen は関数ではありません

を使用した React/Redux アプリがありreact-router-reduxます。Webpack を使用すると、すべて問題ありません。しかし、Bower をhttps://cdnjs.cloudflare.com/ajax/libs/react-router-redux/4.0.5/ReactRouterRedux.js(4.0.5 が最新バージョンで、私はreact-router2.4.1 を持っています) で使用すると、次のエラーが発生します。

history.listen は関数ではありません

ここに私のコードがあります

記録する

History > {length: 2, state: Object, scrollRestoration: "auto"}

listenプロパティが欠落していることがわかります。

しかし、 のコードに入るsyncHistoryWithStoreと、返されるオブジェクトは listen を含む多くのプロパティを持つオブジェクトです。

Object { v2_compatible : true, ..., listen}

Objectそのため、何らかの形でSymbol( ) に変換されているように見えますが、そのHistory理由と方法はわかりません。

0 投票する
1 に答える
1148 参照

reactjs - react-router ルート コンポーネントのコールバックとしてのアクション

onChangereact-router ルートのイベントへのコールバックとして redux アクションを使用したいと思います。また、react-router-redux も使用しています。

何かのようなもの

アクションはどこにfetchCompaniesありますか。

より一般的には、ルートの変更をリッスンし、最終的に状態と対話するようにしたいと考えています。そのため、アクションを使用することが最も簡単なオプションのように思えます。ただし、次のエラーが表示されます。

これを達成する別の方法はありますか?ルート変更へのコールバックとしてアクションを渡そうとするのは本質的に悪いことですか? そうでない場合、どうすれば機能しますか?

0 投票する
3 に答える
25592 参照

reactjs - React-Router: ルート遷移の前に非同期アクションを待つ方法

特定のルートでasync redux アクションを呼び出し、thunk応答が成功または失敗するまで遷移を実行しないことは可能ですか?

使用事例

サーバーからデータをロードし、フォームに初期値を入力する必要があります。これらの初期値は、データがサーバーから取得されるまで存在しません。

このようないくつかの構文は素晴らしいでしょう:

0 投票する
0 に答える
208 参照

redux - アクションをディスパッチすると、react-router-redux がルーターの小道具を変更します

理解できない行動を目の当たりにしていますが、それは正しくないようです。

this.props.locationアクションをディスパッチすると、コンポーネント(および params や routeParams などの他の要素) が変更されるため、コンポーネントが再レンダリングされます。「変更」と言うときは、ポインターが異なることを意味しますが、内部のプロパティは同じです。

ディスパッチされたアクションはルートを変更しません。redux ストア内の一部のデータのみです (独自のマウントされたキー上)。

その結果、shouldComponentUpdate(オーバーライドされていない) 変更が検出され、再レンダリングが強制されます。でも全然変わらない!

データを取得するために 30 秒ごとにサーバーを呼び出すアクションをディスパッチする setInterval ルーチンがあるため、これは面倒です。それでも、この状態の変化を気にしない接続されたコンポーネントは、依然として再レンダリングされます。Redux パネルは、このアクションのみがディスパッチされ、LOCATION_CHANGE がディスパッチされていないことを示しています。

react-router-redux のプラグを抜く (の使用を削除するsyncHistoryWithStore) と、この動作は停止します。

これは予期された動作ですか、それとも何か見逃していましたか? shouldComponentUpdate接続されているすべてのコンポーネントでオーバーライドする必要はありません。

反応ルーターの小道具がコンポーネントに注入されている場所を教えていただけますか?

0 投票する
2 に答える
158 参照

reactjs - react-router-redux では、非ルート プレゼンテーション コンポーネントはどのように場所を取得する必要がありますか?

MapStateToPropに場所が入力されていない非ルートコンポーネントから場所にアクセスする良い方法はありownPropsますか? 私の場合、ルーティングされたコンポーネントから数層下の場所が必要です。多くの階層的なパラメーターの受け渡しを避けることは、Redux を使用する理由の 1 つです。そのため、ルーティングされたコンポーネントから介在するすべてのレイヤーを介して場所を渡すだけにはなりません。私は、悪い選択の最良の方法として、routingストアを直接使用することになりましたmapStateToProps(ドキュメントで警告されています)。

このシナリオは、共通の「フレーム」コンポーネントのセットが親ルートによって配置されるシナリオであり、コンテキストに応じてわずかに変更する必要があります。

0 投票する
1 に答える
78131 参照

reactjs - 反応コンポーネントの現在のパスを取得する

特定のメニュー項目のスタイルを決定するために、ナビゲーション コンポーネントで現在のパスを取得しようとしています。

私はすでにいくつかの通常の容疑者を試しましたが、結果は得られません. 特に React 経由でインジェクトされると思っていたプロパティがありません。

this.props.location戻り値undefined

this.props.context戻り値undefined

私は、、、をreact 15使用redux 3.5react-router 2ますreact-router-redux 4