問題タブ [react-router-v4]

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 投票する
1 に答える
1674 参照

javascript - React Router v4 を使用して React アプリの外部で履歴インスタンスにアクセスするにはどうすればよいですか?

外部スクリプト ファイルを共有して、バニラ JS で全社的なヘッダーを作成する React アプリがあります。そのヘッダーには、それを呼び出しているアプリケーションのルートに動的にバインドされるロゴがあります ( location.origin)。

クリック ナビゲーションをキャプチャし、代わりに React Router v3 を使用することは、以前は簡単でした。これは、ルートを設定している場所ならどこでも browserHistory へのアクセスが発生するためです。

React Router v4 ( react-router-dom) では、コンポーネント内のどこかにリスナーをバインドして使用せずに、どうすればこれを達成できますprops.historyか?

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

javascript - history.listen が componentDidMount でトリガーされない

ルーティングにreact-router v4を使用しており、クエリパラメーターを解析しています。history.listen ここで使用することをお勧めします

ライフサイクル フック内で呼び出してcomponentDidMount、コンポーネントがマウントされていることを確認し、次のような高次コンポーネントを使用してコンポーネントの状態の一部として提供できるようにします。

ルートhistory.listenが新しいページに移動したとき、または新しいクエリ パラメータがページに追加されたときに、 がトリガーされることはありません。