問題タブ [react-router-dom]
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.
javascript - React Router v4 を使用して React アプリの外部で履歴インスタンスにアクセスするにはどうすればよいですか?
外部スクリプト ファイルを共有して、バニラ JS で全社的なヘッダーを作成する React アプリがあります。そのヘッダーには、それを呼び出しているアプリケーションのルートに動的にバインドされるロゴがあります ( location.origin
)。
クリック ナビゲーションをキャプチャし、代わりに React Router v3 を使用することは、以前は簡単でした。これは、ルートを設定している場所ならどこでも browserHistory へのアクセスが発生するためです。
React Router v4 ( react-router-dom
) では、コンポーネント内のどこかにリスナーをバインドして使用せずに、どうすればこれを達成できますprops.history
か?
redux - redux アクションをディスパッチしてルーターの履歴の場所を更新する (react-router-dom を使用)
私はこのようなルーターを持っています
Route
私はこれらのようなものをたくさん持ってい<Switch>
ます。ユーザーがボタン/リンクをクリックしたときに状態を処理し、一部のコンポーネントから非同期アクションをディスパッチするために redux を使用しています。
現在、私が直面している問題は、history.push が URL を更新して「something.do?phase=something」に移動しても、Route の history.location が更新されていないことです。このため (私が思うに)、ページ「something.do?phase=something」のリンクをクリックすると、ページの URL のみが変更されますが、その新しいページへのナビゲーションは行われません。
React Router V4を使用してプログラムでナビゲートする と react router を使用してプログラムでナビゲートするをチェックしましたが、まだどこにも行きません。助けてください。