Reactルーターリンクの再読み込みページ:外部イベントとの競合

jreid

React RouterのLinkコンポーネントを使用して、アプリのページ遷移を処理しています。

私のアプリは、ドキュメントレベルのリンクでイベントを定義するいくつかのスクリプト(つまり、Googleタグマネージャー)を含む外部Webページに含まれています。

これにより、リンクイベントとの競合が発生します。リンクをクリックすると、ページは常に再読み込みされます。

onClickコールバックを使用してLinkコンポーネントでの伝播を停止しようとしましたが、運がありませんでした。 <Link onClick={(e) => { e.stopPropagation(); }} [...]>...</Link>

リンクイベントもドキュメントレベルで定義されているので、外部イベントを停止する方法がわかりません。

これに関する手がかりはありますか?

ありがとうございました !

マシュー・リオス

私は自分のアプリの1つでまったく同様の問題に直面しました。解決策は、react-router <Link /> component可能であれば使用を避けることだと思います。

<Link />コンポーネントを使用する代わりに、次のwithRouter()提供するHOCを使用しましたreact-router

何を書きましたか :

Class MyComponent extends React.Component{
  <Link onClick={(e) => { e.stopPropagation(); }} [...]>
    ...
  </Link>
}

export default MyComponent;

に置き換えることができます:

Class MyComponent extends React.Component{

  navigate = (event, location) => {
    event.preventDefault();
    this.props.history.push(location);
  }

  <a onClick={(e, href) => { this.navigate(e, href) }} [...]>
    ...
  </a>
}

export default withRouter(MyComponent);

これにより、リンクがドキュメントレベルで他のイベントをキャッチし、<Link />コンポーネントと同じ結果を達成するのを防ぐことができます

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

MVCとjQueryのページ読み込みイベント?

分類Dev

トリガーイベントページの読み込み時にクリック

分類Dev

Twitterブートストラップタブ:ページの再読み込みまたはハイパーリンクの特定のタブに移動

分類Dev

ページの読み込み時に存在しない要素のイベントをクリックします

分類Dev

すべてのJS、イベント、ネットワークイベントを表示しますが、ページの再読み込みを停止します

分類Dev

divクリックイベントはページの読み込み時に自動的に発生します

分類Dev

ページの読み込み時にイベントクリックが発生する

分類Dev

Httpリクエストの読み込みインジケーター

分類Dev

ページのリソースがWinRTに読み込まれるときのイベント

分類Dev

ページの再読み込みのScrollTopが機能しない(スクリプトの競合の可能性)

分類Dev

jquery-ページの読み込み時にイベントのバインドと起動をクリックします

分類Dev

onShowイベントは、各ページの再読み込み中に不必要に発生します

分類Dev

HTMLボタンは、Webページの再読み込み/読み込みでのみ機能します

分類Dev

Javascriptをクリックすると、イベントのみがページの再読み込みでトリガーされ、機能しなくなります

分類Dev

Framework 7v2のボタンクリックでページを再読み込み

分類Dev

ページの読み込み時にjquerydatepickerの選択イベントをトリガーします

分類Dev

効率的なデータベースクエリ-ページ読み込み時の再評価を回避

分類Dev

クリックイベントではなく、ページの読み込み時に起動するJavascriptイベントリスナー

分類Dev

選択したオプションでイベントをトリガーするページの読み込み時に読み込み

分類Dev

ページ読み込みイベントのjQueryが機能しない

分類Dev

ページの読み込み呼び出し変更イベント?

分類Dev

角度ディレクティブを使用したページ読み込み時の画像の再スケーリングとトリミング

分類Dev

ページの再読み込み時にフィルターフィルターをリセットする

分類Dev

ページの読み込み時にトリガーされるJavascriptonclickイベント

分類Dev

委任イベントonchangeは、ページの読み込み時にすぐにトリガーされます

分類Dev

ASP.NET:ページが読み込まれる前にボタンのクリックイベントをトリガーする方法

分類Dev

ページが初めて読み込まれ、その後は読み込まれないときにイベントをトリガーします

分類Dev

ページ読み込み時のJSFリダイレクト

分類Dev

Webページのページ再読み込みイベントを識別できるサーブレットのリクエストオブジェクトのメソッドはありますか

Related 関連記事

  1. 1

    MVCとjQueryのページ読み込みイベント?

  2. 2

    トリガーイベントページの読み込み時にクリック

  3. 3

    Twitterブートストラップタブ:ページの再読み込みまたはハイパーリンクの特定のタブに移動

  4. 4

    ページの読み込み時に存在しない要素のイベントをクリックします

  5. 5

    すべてのJS、イベント、ネットワークイベントを表示しますが、ページの再読み込みを停止します

  6. 6

    divクリックイベントはページの読み込み時に自動的に発生します

  7. 7

    ページの読み込み時にイベントクリックが発生する

  8. 8

    Httpリクエストの読み込みインジケーター

  9. 9

    ページのリソースがWinRTに読み込まれるときのイベント

  10. 10

    ページの再読み込みのScrollTopが機能しない(スクリプトの競合の可能性)

  11. 11

    jquery-ページの読み込み時にイベントのバインドと起動をクリックします

  12. 12

    onShowイベントは、各ページの再読み込み中に不必要に発生します

  13. 13

    HTMLボタンは、Webページの再読み込み/読み込みでのみ機能します

  14. 14

    Javascriptをクリックすると、イベントのみがページの再読み込みでトリガーされ、機能しなくなります

  15. 15

    Framework 7v2のボタンクリックでページを再読み込み

  16. 16

    ページの読み込み時にjquerydatepickerの選択イベントをトリガーします

  17. 17

    効率的なデータベースクエリ-ページ読み込み時の再評価を回避

  18. 18

    クリックイベントではなく、ページの読み込み時に起動するJavascriptイベントリスナー

  19. 19

    選択したオプションでイベントをトリガーするページの読み込み時に読み込み

  20. 20

    ページ読み込みイベントのjQueryが機能しない

  21. 21

    ページの読み込み呼び出し変更イベント?

  22. 22

    角度ディレクティブを使用したページ読み込み時の画像の再スケーリングとトリミング

  23. 23

    ページの再読み込み時にフィルターフィルターをリセットする

  24. 24

    ページの読み込み時にトリガーされるJavascriptonclickイベント

  25. 25

    委任イベントonchangeは、ページの読み込み時にすぐにトリガーされます

  26. 26

    ASP.NET:ページが読み込まれる前にボタンのクリックイベントをトリガーする方法

  27. 27

    ページが初めて読み込まれ、その後は読み込まれないときにイベントをトリガーします

  28. 28

    ページ読み込み時のJSFリダイレクト

  29. 29

    Webページのページ再読み込みイベントを識別できるサーブレットのリクエストオブジェクトのメソッドはありますか

ホットタグ

アーカイブ