React-Router 外部リンク 質問する

React-Router 外部リンク 質問する

React アプリでルートを処理するために React Router を使用しているので、外部リソースにリダイレクトする方法があるかどうか知りたいです。

誰かが次のようにヒットしたとします:

example.com/privacy-policy

以下にリダイレクトします:

example.zendesk.com/hc/en-us/articles/123456789-Privacy-Policies

次のような内容の index.html の読み込み時に、プレーンな JavaScript で記述することを避けるのにまったく役立ちません。

if (window.location.path === "privacy-policy"){
  window.location = "example.zendesk.com/hc/en-us/articles/123456789-Privacy-Policies"
}

ベストアンサー1

React Router を使用して外部リンクにリダイレクトするためのワンライナーを次に示します。

<Route path='/privacy-policy' component={() => {
    window.location.href = 'https://example.com/1234';
    return null;
}}/>

React の純粋なコンポーネントの概念を使用して、コンポーネントのコードを単一の関数に削減し、何かをレンダリングする代わりに、ブラウザーを外部 URL にリダイレクトします。

React Router 3 と 4 の両方で動作します。

おすすめ記事