ホームページ ウェブフロントエンド jsチュートリアル React-router 4.0 でサーバーが BrowserRouter とどのように連携するかに関するチュートリアルの例

React-router 4.0 でサーバーが BrowserRouter とどのように連携するかに関するチュートリアルの例

Dec 29, 2017 pm 04:29 PM
react-router サーバ

react-router は、React フレームワークのルーティング ソリューションとして React プロジェクトで重要な役割を果たします。この記事では、react-router 4.0 でのサーバーと BrowserRouter の連携に関する詳細な説明を中心に紹介します。編集者が非常に優れていると考えたので、参考として共有します。編集者をフォローして見てみましょう。皆さんのお役に立てれば幸いです。

react-router バージョン 4.0 では、以前のバージョンと比較して API が大幅に変更され、2.0 および 3.0 で一般的に使用されていた コンポーネントは、基礎となるルーティング構成コンポーネントとして使用されなくなりました。それぞれ異なるルーティング コンポーネントです:

コンポーネントは「URL」情報をメモリに保存し、ブラウザのアドレスを変更しません。 bar は、React Native やテスト環境などの非ブラウザ環境でよく使用されます。

コンポーネントはルートを変更しないことがその名前からわかります。これはサーバー側のレンダリング中に非常に役立ちます。

コンポーネント 私たちが最もよく知っているルーティングコンポーネントについて詳しく説明する必要はありません。ここでは、react-router が推奨する を使用するときに遭遇した落とし穴について説明します。

の違いは、前者は rul のパス名セグメントに基づいており、後者はハッシュ セグメントに基づいていることです。 。

前者: http://127.0.0.1:3000/article/num1

後者: http://127.0.0.1:3000/#/article/num1 (必ずしもそうとは限りませんが、# は必須です) )

この違いによって生じる直接的な問題は、第 2 レベルまたはマルチレベルのルーティング状態では、ページを更新すると、 が現在のルートをサーバーに送信しますが (これはパス名であるため)、< ;HashRouter> は行われません (ハッシュ セグメントであるため)。

フロントエンドのルートがバックエンドに送信されることは絶対に望ましくありません。

react-router 4.0 のドキュメントには次の一節があります:

注: ハッシュを使用したナビゲーション履歴の記録は、location.key と location.state をサポートしていません。 以前のリリースでは、この動作に対して shim を提供していましたが、解決できない問題がまだいくつかありました。 この動作に依存するコードやプラグインは正しく機能しません。 このテクノロジーはレガシー ブラウザのみをサポートするように設計されているため、ブラウザで使用する場合は代わりに を使用できます。

これには、サーバーがフロントエンドと連携していくつかの簡単な変更を行う必要があります。

この変更のアイデアは、リクエストされた URL が機能せず、フロントエンド ルートである場合に、エントリ HTML ファイル (私の背景は Nodejs) をリロードすることです。


// catch 404 and forward to error handler
app.use(function(req, res, next) {
  //判断是主动导向404页面,还是传来的前端路由。
   //如果是前端路由则如下处理

  fs.readFile(__dirname + &#39;/public/dist/index.html&#39;, function(err, data){
    if(err){
      console.log(err);
      res.send(&#39;后台错误&#39;);
    } else {
      res.writeHead(200, {
        &#39;Content-type&#39;: &#39;text/html&#39;,
        &#39;Connection&#39;:&#39;keep-alive&#39;
      });
      res.end(data);
    }
  })
});
ログイン後にコピー

ここには数え切れないほどの落とし穴があります。インターネットでメソッドを検索した後、nginx に切り替え、try_files フィールドを使用してエントリ html にダイレクトしましたが、リダイレクト後、webpack によってパッケージ化された js ファイルが実行されませんでした。 。

firebug を確認すると、この更新の応答ヘッダーに「Connection」:「keep-alive」が設定されていることがわかりました。問題はここにあるはずで、nodejs に切り替えてキープアライブで 200 ステータスを使用すると解決されます。問題。

react-router 4.0 マルチレベルルーティングでページを更新しても 404 は発生しなくなりましたが、フロントエンドの状態は保存されます。

関連する推奨事項:


React-router HashRouter と BrowserRouter の使用方法に関する簡単な説明

react-router browserHistory 更新ページ 404 の問題の解決方法

コンポーネント間のジャンプを実現する 3 つの Vue-Router

以上がReact-router 4.0 でサーバーが BrowserRouter とどのように連携するかに関するチュートリアルの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

eMule検索がサーバーに接続できない問題の解決方法 eMule検索がサーバーに接続できない問題の解決方法 Jan 25, 2024 pm 02:45 PM

解決策: 1. eMule の設定をチェックして、正しいサーバー アドレスとポート番号が入力されていることを確認します; 2. ネットワーク接続を確認し、コンピューターがインターネットに接続されていることを確認し、ルーターをリセットします; 3. サーバーが正常に動作しているかどうかを確認します。ネットワーク接続に問題がない場合は、サーバーがオンラインであるかどうかを確認する必要があります; 4. eMule のバージョンを更新し、eMule 公式 Web サイトにアクセスし、eMule ソフトウェアの最新バージョンをダウンロードします。 5.助けを求めてください。

RPC サーバーに接続できない、およびデスクトップに入れない場合の解決策 RPC サーバーに接続できない、およびデスクトップに入れない場合の解決策 Feb 18, 2024 am 10:34 AM

RPC サーバーが利用できず、デスクトップからアクセスできない場合はどうすればよいですか? 近年、コンピューターとインターネットが私たちの生活の隅々に浸透しています。集中コンピューティングとリソース共有のテクノロジーとして、リモート プロシージャ コール (RPC) はネットワーク通信において重要な役割を果たします。ただし、場合によっては、RPC サーバーが利用できなくなり、デスクトップにアクセスできなくなる状況が発生することがあります。この記事では、この問題の考えられる原因のいくつかについて説明し、解決策を提供します。まず、RPC サーバーが使用できない理由を理解する必要があります。 RPCサーバーは、

CentOSインストールヒューズとCentOSインストールサーバーの詳細説明 CentOSインストールヒューズとCentOSインストールサーバーの詳細説明 Feb 13, 2024 pm 08:40 PM

LINUX ユーザーとして、CentOS にさまざまなソフトウェアやサーバーをインストールする必要があることがよくありますが、この記事では、CentOS に Fuse をインストールしてサーバーをセットアップする方法を詳しく紹介し、関連する作業をスムーズに完了できるようにします。 CentOS のインストールfusionFuse は、権限のないユーザーがカスタマイズされたファイル システムを通じてファイル システムにアクセスして操作できるようにするユーザー スペース ファイル システム フレームワークです。CentOS への Fuse のインストールは非常に簡単で、次の手順に従うだけです: 1. ターミナルを開き、次のようにログインします。ルートユーザー。 2. 次のコマンドを使用して、fuse パッケージをインストールします: ```yuminstallfuse3。インストール プロセス中のプロンプトを確認し、「y」を入力して続行します。 4. インストール完了

Dnsmasq を DHCP リレー サーバーとして構成する方法 Dnsmasq を DHCP リレー サーバーとして構成する方法 Mar 21, 2024 am 08:50 AM

DHCP リレーの役割は、2 つのサーバーが異なるサブネット上にある場合でも、受信した DHCP パケットをネットワーク上の別の DHCP サーバーに転送することです。 DHCP リレーを使用すると、ネットワーク センターに集中 DHCP サーバーを展開し、それを使用してすべてのネットワーク サブネット/VLAN に IP アドレスを動的に割り当てることができます。 Dnsmasq は、一般的に使用される DNS および DHCP プロトコル サーバーであり、ネットワーク内の動的ホスト構成の管理を支援する DHCP リレー サーバーとして構成できます。この記事では、dnsmasq を DHCP リレー サーバーとして構成する方法を説明します。コンテンツ トピック: ネットワーク トポロジ DHCP リレー上の静的 IP アドレスの構成 集中型 DHCP サーバー上の DHCP リレー D

PHP を使用して IP プロキシ サーバーを構築するためのベスト プラクティス ガイド PHP を使用して IP プロキシ サーバーを構築するためのベスト プラクティス ガイド Mar 11, 2024 am 08:36 AM

ネットワーク データ転送において、IP プロキシ サーバーは重要な役割を果たし、ユーザーが実際の IP アドレスを隠し、プライバシーを保護し、アクセス速度を向上させるのに役立ちます。この記事では、PHP を使用して IP プロキシ サーバーを構築する方法に関するベスト プラクティス ガイドを紹介し、具体的なコード例を示します。 IPプロキシサーバーとは何ですか? IP プロキシ サーバーは、ユーザーとターゲット サーバーの間にある中間サーバーであり、ユーザーとターゲット サーバー間の転送ステーションとして機能し、ユーザーのリクエストと応答を転送します。 IPプロキシサーバーを使用する場合

サーバーの状態を確認する方法 サーバーの状態を確認する方法 Oct 09, 2023 am 10:10 AM

サーバーのステータスを表示する方法には、コマンド ライン ツール、グラフィカル インターフェイス ツール、監視ツール、ログ ファイル、リモート管理ツールなどがあります。詳細な紹介: 1. コマンド ライン ツールを使用します。Linux または Unix サーバーでは、コマンド ライン ツールを使用してサーバーのステータスを表示できます。2. グラフィカル インターフェイス ツールを使用します。グラフィカル インターフェイスを備えたサーバー オペレーティング システムの場合は、グラフィックス ツールを使用できます。システムによって提供されるインターフェース ツールを使用してサーバーの状態を表示する; 3. 監視ツールを使用する 特別な監視ツールを使用して、サーバーの状態をリアルタイムで監視することができます。

TFTPサーバーを有効にする方法 TFTPサーバーを有効にする方法 Oct 18, 2023 am 10:18 AM

TFTP サーバーを起動する手順には、TFTP サーバー ソフトウェアの選択、ソフトウェアのダウンロードとインストール、TFTP サーバーの構成、サーバーの起動とテストが含まれます。詳細な紹介: 1. TFTP サーバー ソフトウェアを選択するときは、まずニーズに合った TFTP サーバー ソフトウェアを選択する必要があります。現在、Tftpd32、PumpKIN、tftp-hpa など、多くの TFTP サーバー ソフトウェアから選択できます。すべてのソフトウェアはシンプルで使いやすいインターフェイスと設定オプションを提供します; 2. TFTP サーバー ソフトウェアなどをダウンロードしてインストールします。

Epic サーバーがオフラインのときにゲームに参加できない場合はどうすればよいですか? Epic がオフラインでゲームに参加できない理由の解決策 Epic サーバーがオフラインのときにゲームに参加できない場合はどうすればよいですか? Epic がオフラインでゲームに参加できない理由の解決策 Mar 13, 2024 pm 04:40 PM

Epic サーバーがオフラインのときにゲームに参加できない場合はどうすればよいですか?この問題は多くの友人が経験しているはずです。このプロンプトが表示されると、正規のゲームが起動できなくなります。この問題は通常、ネットワークやセキュリティ ソフトウェアからの干渉によって引き起こされます。では、どのように解決すればよいでしょうか?今回の編集者が説明します。解決策を皆さんと共有したいと思います。今日のソフトウェア チュートリアルが問題の解決に役立つことを願っています。オフライン時に epic サーバーがゲームに参加できない場合の対処方法: 1. セキュリティ ソフトウェアによって妨害されている可能性があります。ゲーム プラットフォームとセキュリティ ソフトウェアを閉じて、再起動します。 2. 2 つ目は、ネットワークの変動が大きすぎることです。ルーターを再起動して機能するかどうかを確認してください。状態に問題がない場合は、5G モバイル ネットワークを使用して動作を試みることができます。 3. それならもっとあるかもしれない

See all articles