ホームページ ウェブフロントエンド jsチュートリアル フロントエンドルーティングを実装するためのreact-routerの使用方法の詳細な説明

フロントエンドルーティングを実装するためのreact-routerの使用方法の詳細な説明

Aug 11, 2017 am 11:48 AM
react-router 説明書 成し遂げる

この記事ではフロントエンドルーティングとreact-routerの使用姿勢の詳細な説明を中心に、react-routerの使い方を詳しく紹介していますので、興味のある方はぜひ学んでみてください

routing

。 SPA 開発の経験がある方 ルーティングという用語は誰にとっても馴染みのないものではありません。フロントエンド ルーティングとバックエンド ルーティングの実装手法は異なりますが、原理は同じです。 HTML5 の履歴 API が登場する前は、フロントエンド ルーティングはハッシュを通じて実装されており、ハッシュは下位バージョンのブラウザと互換性がありました。 URI ルールに # を含める必要があります。 Web サービスはハッシュを解析しません。つまり、# 以降のコンテンツは Web サービスによって自動的に無視されます。ただし、JavaScript はパスを読み取って解析した後、応答できます。さまざまなパスのロジックを処理します。

AngularJs UI-Router の簡単な紹介

AngularJS の開発経験がある場合、Angularjs には正式に実装された独自のルーティング システムがあり、また、比較的代表的なサードパーティのネストされたルーティング メカニズム UI もあります。 -Router; 次のコード ブロックに示すように:


.state("main.list",angularAMD.route({
    url : '/list/:params',//url &参数
    views : {
      "header@main" : angularAMD.route({
        templateUrl : 'simple/view/main/html/main/Header.html',
        controller:'HeadController',
        controllerUrl:[ ****.js
                  ]
      }),
      "menu@main" : angularAMD.route({
        templateUrl : 'simple/view/main/html/main/MenuModule.html',
        controller : "MenuController",
        controllerUrl:[ ****.js]
      }),
      "mainContent@main":angularAMD.route({
        templateUrl : 'simple/view/main/html/main/MainContent.html'
      })
    }
  }))
ログイン後にコピー

state() 関数の最初のパラメーターは、ページが「main.list」にジャンプするときのネストされたルーティング メカニズムです。 list" ルート ダウンロードの際、状態 ("main"、*) の下のモジュールとリソース (html、js など) が最初にロードされ、次に状態 (") の下のモジュールとリソース (html、js など) がロードされます。 main.list") がルーティングを実装するためにロードされます。ネスト;

react-router

- まずコードの一部


<Router history={ hashHistory }>
  <Route path=&#39;/&#39; component={CoreLayout}>
  <IndexRoute component={HomeView}/>
  <Route path=”/HODE_ROUTE/:param“ component={HomeView}/>
  <Route path=“ /AUDIT_ROUTE/:param" component={AuditView}/>
  <Route path=“/CHART_ROUTE” component={ChartView}/>
  </Route>
</Router>
ログイン後にコピー

React-router は、次のような jsx 構文でルーターのネストを実装します。 DOM 構造; AngularJs の UI-Router に似ています 大きな違いはありますが、実際には Angular の実装ロジック:

Jump=》state=》module=》静的リソース (js, css, html)=》show (ページ表示)

react- ルーターの実装ロジック:

Jump=》path=》component=》静的リソース(js, css, html)=》show (ページ表示) この記事では主に、react-router について説明します。以下は、react-router の使用法について簡単に説明します。

<Router history={hashHistory}>
 <Route path="/" component={App}>
  <Route path="/repos" component={Repos}/>
  <Route path="/about" component={About}/>
 </Route>
</Router>
ログイン後にコピー

上記のコードでは、ユーザーが /repos にアクセスすると、最初に App コンポーネントがロードされ、次にその中で Repos コンポーネントがロードされます。

<App>
 <Repos/>
</App>
ログイン後にコピー
Routerコンポーネント内にサブルートを記述することもでき、Routerコンポーネントのroutes属性を別途渡すこともできます

let routes = <Route path="/" component={App}>
 <Route path="/repos" component={Repos}/>
 <Route path="/about" component={About}/>
</Route>;

<Router routes={routes} history={browserHistory}/>
ログイン後にコピー

上記のコードでは、ユーザーが/inbox/messages/:id にアクセスすると、次のコンポーネントがロードされます。


<Route path="inbox" component={Inbox}>
  <Route path="messages/:id" component={Message} />
</Route>
ログイン後にコピー

IndexRouteコンポーネント


はindex.htmlに似ており、このコンポーネントはデフォルトでロードされます


<Inbox>
 <Message/>
</Inbox>
ログイン後にコピー
今、ユーザーがアクセスすると、コンポーネントはデフォルトでロードされます。 /、ロードされたコンポーネントの構造は次のとおりです。

<Router>
 <Route path="/" component={App}>
  <IndexRoute component={Home}/>
  <Route path="accounts" component={Accounts}/>
  <Route path="statements" component={Statements}/>
 </Route>
</Router>
ログイン後にコピー

リダイレクトコンポーネント


リダイレクトコンポーネントは、ルーティングジャンプに使用されます。つまり、ユーザーがあるルートにアクセスすると、自動的に別のルートにジャンプします。


<App>
 <Home/>
</App>
ログイン後にコピー

ここで /inbox/messages/5 にアクセスすると、自動的に /messages/5 にジャンプします。

Link


Linkコンポーネントは、aタグを置き換えてリンクを生成するために使用され、ユーザーがクリックすると別のルートにジャンプできるようになります。これは基本的に Router ステータスを受け取る a タグの React バージョンです。


フォーム処理

Linkコンポーネントは通常のユーザーのクリックジャンプに使用されますが、場合によってはフォームジャンプやボタンクリックジャンプなどの操作も必要になります。このような状況を React Router に接続するにはどうすればよいでしょうか?

最初の方法は、browserHistory.pushを使用することです

<Route path="inbox" component={Inbox}>
 {/* 从 /inbox/messages/:id 跳转到 /messages/:id */}
 <Redirect from="messages/:id" to="/messages/:id" />
</Route>
ログイン後にコピー

${userName}は、バックエンド言語で一般的に使用される式記述方法であり、文字列内の変数を取得できます

 handleSubmit(event) {
  event.preventDefault()
  const userName = event.target.elements[0].value
  const repo = event.target.elements[1].value
  const path = `/repos/${userName}/${repo}`
  browserHistory.push(path)
 }
ログイン後にコピー
2 番目の方法は、コンテキスト オブジェクトを使用することです。

 handleSubmit(event) {
  // ...
  this.context.router.push(path)
 },
ログイン後にコピー

ルーターファイル管理の複数人による共同開発


一般に、プロジェクトには、ルータープールに相当する統合ルーターファイルが含まれます。さまざまなリクエストがルーター内の一致するパスを要求します。要求されたページをロードします。しかし。 。 。 コンポーネントを開発するすべての開発者はルーティングを構成する必要があるため、ルーター ファイルの管理が難しくなり、競合や障害が発生しやすくなります。それで。 。おそらく、各コンポーネント フォルダーに XXX.router ファイルを置き、フロントエンド コードがパッケージ化されてオンラインにアップロードされるときにフック関数をトリガーし、多重接続を避けるために XXX.router ファイルを中央のルーター ファイルにマージすることが可能です。人の操作ルーター ファイル。

以上がフロントエンドルーティングを実装するためのreact-routerの使用方法の詳細な説明の詳細内容です。詳細については、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

DirectX修復ツールの使い方は? DirectX修復ツールの詳しい使い方 DirectX修復ツールの使い方は? DirectX修復ツールの詳しい使い方 Mar 15, 2024 am 08:31 AM

DirectX 修復ツールは専門的なシステム ツールであり、その主な機能は現在のシステムの DirectX 状態を検出することであり、異常が見つかった場合は直接修復できます。 DirectX 修復ツールの使い方がわからないユーザーも多いと思いますので、以下の詳細なチュートリアルを見てみましょう。 1. 修復ツール ソフトウェアを使用して修復検出を実行します。 2. 修復の完了後、C++ コンポーネントに異常な問題があることを示すメッセージが表示された場合は、[キャンセル] ボタンをクリックし、[ツール] メニュー バーをクリックしてください。 3. [オプション] ボタンをクリックし、拡張機能を選択して、[拡張機能の開始] ボタンをクリックします。 4. 拡張が完了したら、再検出して修復します。 5. 修復ツールの操作が完了した後も問題が解決しない場合は、エラーを報告したプログラムをアンインストールして再インストールしてみてください。

Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか? Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか? Mar 24, 2024 am 11:27 AM

Huawei 携帯電話にデュアル WeChat ログインを実装するにはどうすればよいですか?ソーシャルメディアの台頭により、WeChatは人々の日常生活に欠かせないコミュニケーションツールの1つになりました。ただし、多くの人は、同じ携帯電話で同時に複数の WeChat アカウントにログインするという問題に遭遇する可能性があります。 Huawei 社の携帯電話ユーザーにとって、WeChat の二重ログインを実現することは難しくありませんが、この記事では Huawei 社の携帯電話で WeChat の二重ログインを実現する方法を紹介します。まず第一に、ファーウェイの携帯電話に付属するEMUIシステムは、デュアルアプリケーションを開くという非常に便利な機能を提供します。アプリケーションのデュアルオープン機能により、ユーザーは同時に

Baidu Netdisk の使用方法 - Baidu Netdisk の使用方法 Baidu Netdisk の使用方法 - Baidu Netdisk の使用方法 Mar 04, 2024 pm 09:28 PM

Baidu Netdisk の使い方をまだ知らない友人も多いので、以下では編集者が Baidu Netdisk の使い方を説明しますので、必要な場合は急いでご覧ください。ステップ 1: Baidu Netdisk をインストールした後、直接ログインします (図を参照); ステップ 2: 次に、ページのプロンプトに従って [マイ共有] と [転送リスト] を選択します (図を参照); ステップ 3: 「 「友達共有」では、写真やファイルを友達と直接共有できます (図を参照); ステップ 4: 次に、「共有」を選択し、コンピューター ファイルまたはネットワーク ディスク ファイルを選択します (図を参照); 5 番目のステップ 1:次に、友達を見つけることができます (写真に示すように); ステップ 6: 「機能宝箱」で必要な機能を見つけることもできます (写真に示すように)。以上、編集者の意見です

PHP プログラミング ガイド: フィボナッチ数列を実装する方法 PHP プログラミング ガイド: フィボナッチ数列を実装する方法 Mar 20, 2024 pm 04:54 PM

プログラミング言語 PHP は、さまざまなプログラミング ロジックやアルゴリズムをサポートできる、Web 開発用の強力なツールです。その中でも、フィボナッチ数列の実装は、一般的で古典的なプログラミングの問題です。この記事では、PHP プログラミング言語を使用してフィボナッチ数列を実装する方法を、具体的なコード例を添付して紹介します。フィボナッチ数列は、次のように定義される数学的数列です。数列の最初と 2 番目の要素は 1 で、3 番目の要素以降、各要素の値は前の 2 つの要素の合計に等しくなります。シーケンスの最初のいくつかの要素

Huawei携帯電話にWeChatクローン機能を実装する方法 Huawei携帯電話にWeChatクローン機能を実装する方法 Mar 24, 2024 pm 06:03 PM

Huawei 携帯電話に WeChat クローン機能を実装する方法 ソーシャル ソフトウェアの人気と人々のプライバシーとセキュリティの重視に伴い、WeChat クローン機能は徐々に人々の注目を集めるようになりました。 WeChat クローン機能を使用すると、ユーザーは同じ携帯電話で複数の WeChat アカウントに同時にログインできるため、管理と使用が容易になります。 Huawei携帯電話にWeChatクローン機能を実装するのは難しくなく、次の手順に従うだけです。ステップ 1: 携帯電話システムのバージョンと WeChat のバージョンが要件を満たしていることを確認する まず、Huawei 携帯電話システムのバージョンと WeChat アプリが最新バージョンに更新されていることを確認します。

KMS アクティベーション ツールとは何ですか? KMS アクティベーション ツールの使用方法は? KMS アクティベーション ツールの使用方法は? KMS アクティベーション ツールとは何ですか? KMS アクティベーション ツールの使用方法は? KMS アクティベーション ツールの使用方法は? Mar 18, 2024 am 11:07 AM

KMS ライセンス認証ツールは、Microsoft Windows および Office 製品のライセンス認証に使用されるソフトウェア ツールです。 KMS は KeyManagementService の略で、鍵管理サービスです。 KMS ライセンス認証ツールは、KMS サーバーの機能をシミュレートして、コンピューターが仮想 KMS サーバーに接続して Windows および Office 製品をライセンス認証できるようにします。 KMS ライセンス認証ツールは、サイズが小さく、機能が強力です。ワンクリックで永続的にライセンス認証できます。インターネットに接続せずに、あらゆるバージョンのウィンドウ システムとあらゆるバージョンの Office ソフトウェアをライセンス認証できます。現在、最も成功しているツールです。頻繁に更新される Windows ライセンス認証ツール 今日はそれを紹介します kms ライセンス認証作業を紹介します

ショートカットキーを使ってセルを結合する方法 ショートカットキーを使ってセルを結合する方法 Feb 26, 2024 am 10:27 AM

セルを結合するためのショートカット キーの使用方法 日常業務では、表の編集や書式設定が必要になることがよくあります。セルの結合は、表の美しさと情報の表示効果を向上させるために、隣接する複数のセルを 1 つのセルに結合する一般的な操作です。 Microsoft ExcelやGoogle Sheetsなどの主流の表計算ソフトでは、セルの結合操作は非常に簡単でショートカットキーで実現できます。この2つのソフトでセルを結合するショートカットキーの使い方を紹介します。存在する

ポットプレイヤーの使い方 - ポットプレイヤーの使い方 ポットプレイヤーの使い方 - ポットプレイヤーの使い方 Mar 04, 2024 pm 06:10 PM

Potplayer は非常に強力なメディア プレーヤーですが、まだ Potplayer の使い方を知らない友達も多いので、今日は Potplayer の使い方を詳しく紹介して、皆さんのお役に立てればと思います。 1. PotPlayer のショートカット キー: PotPlayer プレーヤーのデフォルトの共通ショートカット キーは次のとおりです: (1) 再生/一時停止: スペース (2) 音量: マウス ホイール、上下の矢印キー (3) 進む/戻る: 左右の矢印キー (4) ブックマーク: P- ブックマークの追加、H-ビューブックマーク (5) フルスクリーン/復元: Enter (6) 複数の速度: C-加速、7) 前/次のフレーム: D/

See all articles