ホームページ ウェブフロントエンド jsチュートリアル 分析: ジャンプのルーティング時に React-Router トリガーが 2 回レンダリングされる

分析: ジャンプのルーティング時に React-Router トリガーが 2 回レンダリングされる

Jul 22, 2017 pm 01:57 PM
react-router render 二度

問題: React-Router がジャンプすると、レンダリングが 2 回トリガーされ、ページが繰り返しレンダリングされます。

理由: プロジェクトで使用されているreact-router ^3.x.x。 React-router がジャンプすると、this.props.location.action の値には 2 つの状態があります。どちらの状態でもレンダリングがトリガーされます。したがって、ページは 2 回レンダリングされます。

1. リンクをクリックすると this.props.location.action=PUSH、 2. ブラウザが前後に移動すると this.props.location.action=POP となります。

そのため、リンクをクリックすると、最初はステータスがPUSHになり、次にブラウザが前後に移動し、ステータスがPOPに変わります。

解決策: ルーティング層で、react 定期関数 shouldComponentUpdate (ライフサイクルに詳しくない学生は、別途情報を確認してください) を使用して、this.props.location.action が価値があるかどうかを判断します。プロジェクトの実際のニーズに応じて、値が PUSH であるか POP であるかを決定します。

プロジェクトの一部の要件で window.location.hash='xxxxxxxx' を使用する必要があるため、POP を選択しました。この場合、PUSH をトリガーできないため、ルーティング ジャンプは失敗します。

1 shouldComponentUpdate() {2         // POP 浏览器前进后退, PUSH 点击Link3         return this.props.location.action === "POP"4 }
ログイン後にコピー

注: Facebook 関係者は、この状況は、react-router のバグであり、^4.x.x で修正されていると述べました。

上記の内容はすべて私が実際のプロジェクト開発中に遭遇したものですので、遭遇するバグは人それぞれですので、ぜひ教えてください。ありがとう!

以上が分析: ジャンプのルーティング時に React-Router トリガーが 2 回レンダリングされるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

レンダー関数を使用してvue3にメニュードロップダウンボックスを実装する方法 レンダー関数を使用してvue3にメニュードロップダウンボックスを実装する方法 May 10, 2023 pm 04:28 PM

技術的解決策: まず、ドロップダウン ボックス コンポーネントを作成します まず、ドロップダウン ボックスの内容を表示するコンポーネントを作成します。コンポーネント名は次で始まります: Select.vue 福祉モール Saas プラットフォーム アクティビティ カスタマイズされたレンダリング コンポーネント このコンポーネントを Web ページにレンダリングしたいのですが、操作は次のようになります: マウスが製品サービスに移動すると、ドロップダウン ボックスがレンダリングされます。コンポーネントをコンポーネント インスタンスとしてページ上の適切な場所に配置します。 vue3 では、Vonde をレンダリングするコア ロジックは次のとおりです: import{createVNode,h,render,VNode}from'vue'importcomponentfrom"./component。

イベントのバブリングが 2 回トリガーされるのはなぜですか? イベントのバブリングが 2 回トリガーされるのはなぜですか? Feb 22, 2024 am 09:06 AM

イベントのバブリングが 2 回トリガーされるのはなぜですか?イベント バブリング (イベント バブリング) とは、DOM において、要素がイベント (クリック イベントなど) をトリガーすると、イベントがその要素から親要素にバブルアップし、最後に最上位のドキュメント オブジェクトにバブルアップすることを意味します。イベント バブリングは DOM イベント モデルの一部であり、これにより開発者はイベント リスナーを親要素にバインドできるため、子要素がイベントをトリガーすると、バブリング メカニズムを通じてイベントをキャプチャして処理できます。ただし、開発者は、バブルして 2 回トリガーされるイベントに遭遇することがあります。

ムペッペ (MPEPE) コイン: レンダー (RNDR) とインターネット コンピューター (ICP) からの投資家を惹きつける仮想通貨市場の新たな競争相手 ムペッペ (MPEPE) コイン: レンダー (RNDR) とインターネット コンピューター (ICP) からの投資家を惹きつける仮想通貨市場の新たな競争相手 Sep 03, 2024 pm 02:03 PM

仮想通貨の世界は常に流動的であり、新しいトークンが次の大きな機会を求める経験豊富な投資家の注目を集めています。

レンダリングってレンダリングって意味ですか? レンダリングってレンダリングって意味ですか? Feb 02, 2023 pm 02:52 PM

レンダーとはレンダリングという意味で、描画用語です。レンダリングとはCGの最後の工程であり、最終的に映像を3Dシーンに適合させる段階でもあります。レンダリングを英語ではレンダーと言い、シェーディングと呼ぶ人もいますが、一般的に Shade は Shade と呼ばれ、シェーディングの場合 Render はレンダリングと呼ばれます。

イベント バブリング メカニズムが 2 回トリガーされるのはなぜですか? イベント バブリング メカニズムが 2 回トリガーされるのはなぜですか? Feb 25, 2024 am 09:24 AM

イベントのバブリングが 2 回連続して発生するのはなぜですか?イベント バブリングは Web 開発における重要な概念であり、ネストされた HTML 要素でイベントがトリガーされると、イベントが最も内側の要素から最も外側の要素までバブルアップすることを意味します。このプロセスは時々混乱を引き起こす可能性があり、よくある問題の 1 つは、イベントのバブリングが 2 回続けて発生することです。イベント バブリングが 2 回連続して発生する理由をよりよく理解するために、まずコード例を見てみましょう。

Snapdragon 7s Gen 2、10.6インチディスプレイ、Lumiaデザインを搭載したミッドレンジタブレットとしてHMD Slate Tab 5Gがリーク Snapdragon 7s Gen 2、10.6インチディスプレイ、Lumiaデザインを搭載したミッドレンジタブレットとしてHMD Slate Tab 5Gがリーク Jun 18, 2024 pm 05:46 PM

Skyline とともに、HMD Global は Nokia Lumia 920 スタイルのミッドレンジ スマートフォンを 7 月 10 日に発表する予定です。リーカー @smashx_60 からの最新情報によると、Lumia のデザインは間もなくタブレットにも使用される予定です。これは c になります

レンダーコインは長期保有する価値がありますか?レンダーコインには投資する価値がありますか? レンダーコインは長期保有する価値がありますか?レンダーコインには投資する価値がありますか? Mar 06, 2024 am 08:31 AM

レンダーコイン:長期保有に値する投資機会 レンダーコインはイーサリアムブロックチェーンに基づく暗号通貨で、分散型レンダリングネットワークRender上のレンダリングサービスの料金を支払うように設計されています。目標は、従来のレンダリング ソリューションの高コストと非効率性に対処し、アーティストやクリエイターに手頃な価格で便利なレンダリング オプションを提供することです。レンダー コインの利点は分散化です。レンダー コインはイーサリアム ブロックチェーンに基づいており、分散化の特性を備えており、単一障害点と集中型レンダリング サービス プロバイダーの高コストを回避します。高効率: レンダー コインは分散レンダリング テクノロジーを使用して、世界中のアイドル状態の GPU にレンダリング タスクを割り当て、レンダリング効率を大幅に向上させます。低コスト: レンダー コインは仲介者を排除することでレンダリングのコストを削減します。

DTX Exchange (DTX) – オンライン取引の新時代 DTX Exchange (DTX) – オンライン取引の新時代 Aug 12, 2024 am 12:24 AM

Render (RNDR)、Mantle (MNT)、sei (SEI) などの有名な暗号通貨を購入する人々は現在、DTX Exchange (DTX) に資金を投入しています。

See all articles