反応ルーティングでパラメータを渡すいくつかの方法についての簡単な説明

反応ルーティングでパラメータを渡すいくつかの方法についての簡単な説明

最初のパラメータ渡し方法は、動的ルーティングパラメータ渡しです。

リンクのパス属性を設定することで、ルートが渡されます。リンクタグをクリックすると、渡されたURL全体が上記のURLアドレスに表示されます。

<Link to='/home?name=dx'>ホーム</Link>

渡されたパラメータを実際に取得したい場合は、対応するサブコンポーネントで行う必要があります。
this.props.location.searchは文字列を取得し、手動で解析します

パラメータはユーザーに見えるので渡したり取得したりするのが面倒なのでお勧めできません

2番目のパラメータ渡し方法: 暗黙的なルーティングパラメータ渡し

<リンク先={{
     パス名: 'about',
     州: {
      名前: 'dx'
     }
    }}>について</Link>

いわゆる暗黙的なルートパラメータの受け渡しとは、パラメータ情報が URL に公開されないことを意味します。リンク タグをクリックしたときに、渡されたパラメータを取得したい場合は、対応するルート コンポーネントの this.props.location.state を通じて取得できます。

渡されたパラメータを取得するには、推奨され、より安全で、より便利です

3番目のパラメータ渡し方法は、コンポーネント間でパラメータを渡すことです。

いつ使うのですか?
ルーティングコンポーネントが親コンポーネントからパラメータを受け取る必要がある場合

ルート タグがコンポーネント属性を通じてコン​​ポーネントをアクティブ化する方法を変更します。通常、ルート タグはルーティングで使用されます。

//簡潔で明確ですが、親コンポーネントからパラメータを受け取ることができません <Route path='/test' component={Test}></Route>

変身後

<Link to='/test'>テスト</Link>
<ルートパス='/test' レンダリング={(routeProps) => {
 //routePropsはルーティングコンポーネントによって渡されるパラメータ戻り値です(
     //元のルーティング コンポーネント パラメータの場合、親コンポーネントから子コンポーネントに渡されるパラメータのバインディングを展開します <Test {...routeProps} name='dx' age={18} />
     )
 }}></ルート> 



リンクタグをクリックすると、対応するテストサブコンポーネント内の this.props は、親コンポーネントから渡されたパラメータとルーティングコンポーネント自体のパラメータを取得します。パラメータを渡すのは少し面倒ですが、受け取るパラメータは非常に便利です。また、ルーティングコンポーネント自体のパラメータも引き続き受け取ることができますが、安全で、ユーザーには見えません。

4番目のパラメータ渡しメソッドwithRouter高階コンポーネントはルーティングパラメータを子コンポーネントにバインドします。

withRouter はいつ使用すればよいですか?

サブコンポーネント内のルート パラメータを取得する場合は、ルート パラメータにバインドされるルート内のルート タグのサブコンポーネントを使用する必要があります。

ルートタグにバインドされていないサブコンポーネントのルーティングパラメータを取得する問題を解決するには、withRouterを使用する必要があります。

通常、「ホームページに戻る」や「前のレベルに戻る」などのボタンで使用されます。

'react' から React をインポートします。
'./backhome' から BackHome をインポートします。
デフォルトのクラスTestをエクスポートし、React.Componentを拡張します。
 与える () {
  コンソールログ(this.props)
  戻る (
   <div>
    これはテストの内容です //ホームページに戻るボタンはルートタグを通じてレンダリングされないので、サブコンポーネントの this.props にはルートパラメータがありません <BackHome>ホームページに戻る</BackHome> 
   </div>
  )
 }
}

'react' から React をインポートします。
//ルートをインポートする
'react-router-dom' から {withRouter} をインポートします。
クラス BackHome は React.Component を拡張します {
 ゴーホーム = () => {
  //withRouter を使用する場合、コンポーネントは this.props にルーティングパラメータとメソッドを持っている必要があります //そうでない場合はエラーが報告されます this.props.history.push({
   パス名: '/home',
   州: {
    name: 'dx' //同様に、state を通じてホームルートに対応するコンポーネントにパラメータを渡すこともできます}
  })
 }
 与える () {
  戻る (
   <button onClick={this.goHome}>this.props.children</button>
  )
 }
}
//エクスポート時に、withRouter タグを使用して backHome コンポーネントをパラメータとして渡します export default withRouter(BackHome)

使用する必要がある場合に非常に重要なので、やはりお勧めです。

これで、React ルーティングでパラメータを渡すいくつかの方法についての記事は終了です。React ルーティングでパラメータを渡す方法に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Reactルーティングパラメータ転送方法の概要記録の詳細説明
  • React コンポーネント通信ルーティングパラメータ転送 (react-router-dom)

<<:  MySQL の基本ステートメントを最適化するための 10 の原則の概要

>>:  Linux カーネル デバイス ドライバー仮想ファイル システムに関する注意事項

推薦する

MySQL での挿入効率のいくつかの例の比較

序文最近、仕事の都合で、約 1000w の大量のデータを MySQL に挿入する必要があり、時間がか...

Navicat がリモートで SQL Server に接続し、MySQL に変換する詳細な手順

序文最近、プロジェクトで SQL Server を使用するプログラムに遭遇しました。このデータベース...

Tomcat をアンインストールして再インストールする方法 (画像とテキスト付き)

tomcat9をアンインストールする1. Tomcatのインストールはディレクトリに解凍するだけで...

Linux での MySQL 5.6.24 (バ​​イナリ) 自動インストール スクリプト

この記事では、Linux環境でのmysql5.6.24自動インストールスクリプトコードを参考までに共...

Pythonの関数知識についての簡単な説明

目次関数パラメータの2つの主要なカテゴリ位置パラメータ可変長パラメータ名前空間要約する関数パラメータ...

ウェブページのドロップダウンリストとdivレイヤーのカバーの問題を選択する

HTML の select 要素に関する質問は、さまざまな場所で提起されています。最近のプロジェクト...

CentOS 7 に PHP5 用の suPHP をインストールする方法 (Peng Ge)

デフォルトでは、CentOS 7 上の PHP は apache または nobody として実行さ...

Linux curl フォームのログインまたは送信と Cookie の使用に関する詳細な説明

序文この記事では主に、curl を介してフォーム送信ログインを実装する方法について説明します。単一の...

Angularフレームワークのビュー抽象定義の詳細な説明

序文「大規模なフロントエンド プロジェクト向け」に設計されたフロントエンド フレームワークである A...

NavicatがMySQLに接続すると、10060、1045エラーとmy.iniの場所が報告されます。

Navicat は、データベースに接続するときにエラー 10060 および 1045 を報告します...

CSS3実践手法のまとめ(推奨)

1. 丸い境界線: CSSコードコンテンツをクリップボードにコピー境界線の半径: 4px ; 2....

Docker+Nginx を使ってシングルページアプリケーションをデプロイする

開発から導入まで自分で行うシングルページアプリケーションを開発する場合、ビルドを実行した後 npm ...

Dockerのオンラインおよびオフラインインストールと一般的なコマンド操作

1. テスト環境名前バージョンセント7.6ドッカー18.09.06 2. オンラインインストールここ...

Windows Server 2012 でファイル サーバーを構築するための詳細な手順

ファイル サーバーは、企業内で最も一般的に使用されるサーバーの一つであり、主にファイル共有を提供する...

色の16進数カラーコード表表示と16進値の比較表示で簡単に検索できます

さまざまな色の16進コード表[パート1] 赤とピンク、およびそれらの 16 進コード。 #99003...