React Router 5.1.0 はページジャンプナビゲーションを実装するために useHistory を使用します

React Router 5.1.0 はページジャンプナビゲーションを実装するために useHistory を使用します

React Router v4では、

  1. ルータコンポーネント
  2. タグを使用する

1. withRouterコンポーネントを使用する

withRouterコンポーネントは、履歴オブジェクトをコンポーネントのプロパティとして挿入します。

'react' から React をインポートします
'react-router-dom' から { withRouter } をインポートします。
'antd' から { Button } をインポートします

エクスポートconst ButtonWithRouter = withRouter(({ history }) => {
  console.log('履歴', 履歴)
  戻る (
    <ボタン
      タイプ='デフォルト'
      onClick={() => { history.push('/new-location') }}
    >
      クリックしてください!
    </ボタン>

  )
})

画像.jpg

import { ButtonWithRouter } from './buttonWithRouter'

または:

const ButtonWithRouter = (props) => {
  コンソールログ('props', props)
  戻る (
    <ボタン
      タイプ='デフォルト'
      onClick={() => { props.history.location.push('/new-location') }}
    >
      クリックしてください!
    </ボタン>

  )
}

デフォルトのエクスポート withRouter(ButtonWithRouter)

画像.jpg

インポート: import ButtonWithRouter from './buttonWithRouter'

2. ルートタグを使用する

ルート入口

画像.jpg

ルート コンポーネントは、場所の一致にのみ使用されるわけではありません。 パスなしでルートをレンダリングすることができ、ルートは常に現在の場所と一致します。 Route コンポーネントは withRouter と同じプロパティを渡すため、履歴プロパティを通じて履歴メソッドにアクセスできます。

それで:

エクスポートconst ButtonWithRouter = () => (
  <ルートレンダリング={({ history }) => {
    console.log('履歴', 履歴)
    戻る (
      <ボタン
        タイプ='ボタン'
        onClick={() => { history.push('/new-location') }}
      >
        クリックしてください!
      </ボタン>
    )
  }} />
) 

画像.jpg

React Router 5.1.0はuseHistoryを使用します

React Router v5.1.0からuseHistoryフックが追加されました。React >16.8.0を使用している場合は、useHistoryを使用してページジャンプを実現できます。

エクスポートconst ButtonWithRouter = () => {
  定数履歴 = useHistory();
  console.log('履歴', 履歴)
  戻る (
    <ボタン
      タイプ='ボタン'
      onClick={() => { history.push('/new-location') }}
    >
      クリックしてください!
    </ボタン>
  )
}

画像.jpg

React Router 5.1.0 の useHistory を使用したページジャンプナビゲーションの実装に関するこの記事はこれで終わりです。ReactRouter useHistory ページジャンプナビゲーションに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • React高階コンポーネントを使用してパンくずナビゲーションを実装する例
  • Android 開発用 React ナビゲーション ナビゲーション バーのスタイル調整 + 下隅のメッセージ プロンプト
  • React Native react-navigation ナビゲーションの使用法の詳細
  • react-navigation を使用した React Native でのクロスタブルーティング処理の詳細な説明
  • React Nativeのトップナビゲーションとボトムナビゲーションの使い方のヒントを詳しく説明
  • ページジャンプナビゲーションに react-navigation を使用する React-native の例
  • Reactはナビゲーションバーの二次リンクを実現する

<<:  HTML に埋め込まれた Flash HTML ウェブページ コードに Flash ファイルを埋め込むソリューション (パート 1)

>>:  MySQLはイベントを使用してスケジュールされたタスクを完了します

推薦する

カスタムポップアップボックスを実装するためのJavaScriptシングルトンモード

この記事では、カスタムポップアップボックスを実装するためのJavaScriptシングルトンモードの具...

MySQL 5.5 の導入に関する問題

MySQL の導入現在、会社ではプラットフォーム運用を通じてMySQLを導入しています。金曜日、プラ...

MySQL マルチバージョン同時実行制御メカニズム (MVCC) ソースコードの詳細な説明

目次1. はじめに2. MVCC (マルチバージョン同時実行制御メカニズム) 2.1 繰り返し読み取...

Vue の nextTick について話す

データが変更されても、DOM ビューはすぐには更新されません。変更直後にノードまたはその値を取得しよ...

ウェブサイトにダークモード切り替え機能を持たせるための純粋なCSSフリー実装コード

序文ダーク モードの概念は、 MacOS系統のMojaveに由来し、ユーザーが選択できる 2 つのス...

2 つの MySQL ユーザー削除ステートメント (delete user と drop user) の違い

ヒント: MySQL では、ユーザーの作成と削除が頻繁に必要になります。ユーザーを作成するときは、通...

JavaScript の基礎: 即時実行関数

目次関数フォーマットを即時実行関数を即座に実行する他の方法 – 式即時実行される関数はパラメータを取...

CSSにおけるマージン値と垂直マージンの重なりについて

平行ボックスの余白 (二重余白の重なり) に関する面接の質問: 1 つのボックスに上余白があり、もう...

MySQL インフラストラクチャ チュートリアル: クエリ ステートメント実行プロセスの詳細な説明

序文私は以前から、SQL 文がどのように実行され、どのような順序で実行されるのかを知りたいと思ってい...

Nginx/Httpd ロードバランシング Tomcat 設定チュートリアル

前回のブログでは、Nginx と httpd を使用して、逆生成用のバックエンド Tomcat サー...

jQueryはキャンバスタグを使用して検証コードを描画します

<canvas> 要素は、クライアント側のベクター グラフィックス用に設計されています。...

Linux デスクトップ用の 4 つのスキャン ツール

ペーパーレスの世界はまだ到来していませんが、書類や写真をスキャンすることで紙をなくす人が増えています...

さまざまなネットワーク画像形式におけるPNGの利点の詳細な説明

BMP は、ハードウェア デバイスに依存せず、広く使用されている画像ファイル形式です。ビットマップ保...

Vue.js での VNode の使用

VNodeとはvue.js には VNode クラスがあり、これを使用してさまざまな種類の vnod...

ES6 の Set および WeakSet コレクションの詳細な説明

目次セットは値が重複しない特別なコレクションです。セットコレクション基本API独自の価値判断セットを...