React ルーティング リンク構成の詳細

React ルーティング リンク構成の詳細

1. 属性へのリンク

(1)ルーティングパスを配置する
(2)指定された形式でオブジェクトを配置する
{パス名:"/xx",検索:'?キーと値のペア',ハッシュ:"#xxx",状態:{キーと値のペア}}
パス名、検索、ハッシュを URL パスに自動的に連結します。state は渡されたパラメータであり、props を出力することでオブジェクト内の情報を表示できます。
this.props.location.state.状態のデータを取得するためのキー名

2. リンクの置換属性

置換を追加すると、ジャンプ前のページが現在のページに置き換えられ、現在のページのみがスタックにプッシュされます。

3. リンクパラメータ転送

パスの後に「/key value」を追加します
ルートとパスの後に「/:キー名」を追加します
コンポーネント内の関数コンポーネント: 最初に props パラメータを渡し、次に props.match.params.key 名クラスコンポーネント: this.props.match.params.key 名

コード例:

React をインポートします。{Component} を 'react' からインポートします。
// 'react-router-dom' から {Route、BrowserRouter、Link} をインポートします
// BrowserRouter を Router に名前変更
'react-router-dom' から { BrowserRouter を Router、Link、Route としてインポートします。
'antd' から Button をインポートします。
'./App.css' をインポートします。

関数ホーム()
{
  戻る(
      <div>管理者ホームページ</div>
    )
}

関数Me(props)
{
  console.log(プロパティ)
  戻る(
      <div>管理者マイ</div>
    )
}

関数 Product(props)
{
  戻る(
      <div>管理者製品ページ:{props.match.params.id}</div>
    )
}

デフォルトクラスAppをエクスポートし、Componentを拡張します。
   コンストラクタ()
    {
      素晴らしい();
    }
    与える()
    {
    パスがオブジェクト形式で記述され、以下と同じである場合、パス名、検索、ハッシュは URL パスに自動的に連結され、状態はコンポーネントに渡されるデータになります*/
      obj={pathname:"/me",search:'?username=admin',hash:"#abc",state:{msg:'hello'}}とします。
      戻る(
        <div id='アプリ'>
      *複数の BrowserRouter を配置できます*/
          <ルーター>
        
        コンポーネントは HTML コンテンツも返すため、コンポーネントとして機能する関数を通じて HTML コンテンツを直接返すことはできますが、HTML コンテンツを直接記述することはできません*/
          <div>  
            <Route path="/" exact component={()=><div>ホーム</div>}></Route>
            <ルート パス="/product" コンポーネント={()=><div>製品</div>}></ルート>
            <ルート パス="/me" コンポーネント={()=><div>me</div>}></ルート>
          </div>
          {/*<Route path="/" component={function(){return <div>首页2</div>}}></Route>*/

          </ルーター>
        

          
          * * BrowserRouter 内に他のコンテンツをラップするためのルート コンテナは 1 つだけです */
        *basename='/xx' を追加した後、リンクをクリックして他のルートにジャンプすると、URL はルート名の先頭に /xx を追加するため、ルート パスと管理者が追加されたルート パスの両方がルートと一致するようになります*/
          <ルーターのベース名='/admin'>
            <div>
                <div className='nav'>
                    <Link to='/'>ホーム</Link>
                    <Link to='/product/123'>製品</Link>
                  対応するコンポーネントで props を出力して渡されたオブジェクトの情報を表示したり、replace を追加してジャンプ前のページを現在のページに置き換えたり、現在のページのみをスタックにプッシュしたりできます*/
                    <Link to={obj} replace>パーソナル センター</Link>
                </div>

                <ルート パス="/" 正確なコンポーネント = {ホーム}></ルート>
                <ルート パス="/product/:id" コンポーネント={製品}></ルート>
                <ルート パス="/me" 正確なコンポーネント = {Me}></ルート>
            </div>
          </ルーター>

        </div>
        
      )
    }
}

これで、React Routing Link の詳細設定に関するこの記事は終了です。React Routing Link に関するより詳しい内容については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Reactルーティングの各バージョンのリダイレクト方法の詳細な説明
  • react-router JS 制御ルーティングジャンプの例
  • Reactがコンポーネント内のルーティングパラメータを取得する方法の詳細な説明
  • react-router4でネストされたルートを使用する方法
  • React-router4ルート監視の実装
  • ルーティング許可制御を実装するためのReact router4+reduxメソッド
  • React-router v4 ルーティング設定方法の概要
  • React Router 4.0 以降のルーティング アプリケーションの詳細な説明

<<:  ウェブデザインにおけるキーワード設計手法の紹介

>>:  MySQL初心者のための基本操作のまとめ

推薦する

初心者のための入門チュートリアル⑤:ウェブサイト登録はとても簡単、簡単な登録のヒント

スペースを購入してウェブサイトを構築したことがある友人なら、ウェブサイトは正式に開設する前に登録する...

JavaScript の querySelector メソッドと getElementById メソッドの違いを分析する

目次1. 概要1.1 querySelector() と querySelectorAll() の使...

wgetはウェブサイト全体(サブディレクトリ全体)または特定のディレクトリをダウンロードします

wgetコマンドを使用して、親ディレクトリの下のサブディレクトリ全体をダウンロードします。親ディレク...

ApacheとTomcatを組み合わせて静的状態と動的状態を分離する方法

実験環境ApacheとTomcatは両方ともIPアドレス192.168.153.136のホストにイン...

Vueはズームイン、ズームアウト、ドラッグ機能を実装しています

この記事では、参考までに、ズームインとズームアウトのドラッグ機能を実現するためのVueの具体的なコー...

MySQL の自己結合重複排除に関する注意事項

機能シナリオを簡単に説明しましょう。データ行フィールドは次のとおりです。名前開始日時タイプこの表では...

Linux インストール MySQL5.6.24 使用手順

Linux インストール MySQL ノート1. MySQL データベース サーバーをインストールす...

CSSカウンター関連属性の学習の詳細な説明

CSS カウンター属性はほぼすべてのブラウザ (IE8 を含む) でサポートされていますが、あまり使...

Tomcat サーバー入門の超詳細なチュートリアル

目次1. Tomcat の概念–1、サーバー–2、ウェブサーバー–3、Tomcatサーバー次にTom...

ウェブページをデザインする際に注意すべきいくつかの問題

Web デザインは、個人の好みや Web ページの内容に応じて、デザインのレイアウトが常に変化します...

モバイル署名機能を実装するJavaScript

この記事では、モバイル署名機能を実装するためのJavaScriptの具体的なコードを参考までに共有し...

vue3で注意すべき2つのポイントを詳しく解説:セットアップ

目次vue2の場合vue3ではセットアップに関する注意事項セットアップライフサイクルは、before...

Centos7 DockerでNginxファイルを変更するプロセスの詳細な説明

1. docker に nginx をインストールします。 docker に Nginx をインスト...

Vue3 setup() の高度な使用例の詳細な説明

目次1. オプションAPIと組み合わせAPIの違い2. セットアップを具体的にどのように使用するので...

Vue プロジェクトにおけるトランジション コンポーネントの適用の概要

​Vue のトランジションは、アニメーション トランジションをカプセル化するコンポーネントです。一般...