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初心者のための基本操作のまとめ

推薦する

mysql IS NULL インデックスケースの説明を使用する

導入MySQL の SQL クエリ ステートメントで is null、is not null、!= ...

ウェブデザインにおけるポップアップウィンドウとフローティングレイヤーのデザイン

従来のソフトウェアから Web ウェアへの段階的な移行の傾向の中で、デザイン パターンとテクノロジは...

VSCode と SSH を使用したリモート開発

0. リモート開発が必要な理由組み込み Linux を開発する場合、便宜上、通常は Windows ...

MySQLデータベースのQPSとTPSの意味と計算方法

DB ベンチマーク テストを実行する場合、qps と tps はデータベースのパフォーマンスを測定す...

純粋な CSS でマークダウンの自動番号付けを実装するサンプル コード

問題の起源私がタイトルの番号付けの問題に初めて注目したのは、学部の論文を書いていた頃まで遡ります。当...

HTML テーブル マークアップ チュートリアル (29): セルのライト境界線の色属性 BORDERCOLORLIGHT

セルでは、明るい境界線の色を個別に定義できます。 > 基本構文<TD ボーダーカラーライ...

Jenkins初心者のためのDockerデプロイメントチュートリアルの詳細な説明

この記事では、docker 経由で Jenkins+Maven+SVN+Tomcat をデプロイし、...

JS でシングルトン モードを実装するための 6 つのソリューションの概要

序文今日は、デザインパターンのクリエーションパターンを見直していたところ、JS でシングルトンパター...

Linuxでファイルを削除してもスペースが解放されない問題の対処方法

問題の背景業務システムのサーバ監視システムからディスク使用率が90%に達したという早期警告通知が来た...

HTML5+CSS3コーディング標準

黄金律プロジェクトに何人の人が取り組んでいるかに関係なく、すべてのコード行が同じ人によって書かれたよ...

Vue でルーティング遷移効果を実装する 4 つの方法

Vue ルーター トランジションは、Vue プログラムにパーソナライズされたエフェクトをすばやく簡単...

Linux システムに Zookeeper サービスをインストールする方法

1. /usr/local/services/zookeeper フォルダを作成します。 mkdir...

XHTML CSS ページをプリンタ ページに変換する

<br />これまで、Web ページのプリンタ対応バージョンを作成するには、印刷したとき...

jQueryとCSSを組み合わせてトップに戻る機能を実現

CSS操作 CS $("").css(名前|プロ|[,値|関数]) 位置$(&q...

Vue のプラグインとコンポーネントの違いと使い方のまとめ

このチュートリアルの動作環境: Windows 7 システム、vue 2.9.6 バージョン、DEL...