Maison interface Web js tutoriel Analyse : les déclencheurs de React-Router s'affichent deux fois lorsque le routage saute

Analyse : les déclencheurs de React-Router s'affichent deux fois lorsque le routage saute

Jul 22, 2017 pm 01:57 PM
react-router render deux fois

Problème : lorsque les routes React-Router sautent, le rendu est déclenché deux fois, ce qui entraîne le rendu de la page à plusieurs reprises.

Cause : react-router ^3.x.x utilisé dans le projet. Lorsque React-Router saute, la valeur de this.props.location.action aura deux états. Les deux états déclencheront le rendu. La page est donc rendue deux fois.

  1. Lorsque vous cliquez sur le lien, this.props.location.action=PUSH, 2. Lorsque le navigateur avance et recule, this.props.location.action=POP.

Ainsi, lorsque vous cliquez sur le lien, le statut est d'abord PUSH, puis le navigateur avance et recule, et le statut passe à POP.

Solution : dans la couche de routage, utilisez la fonction périodique de réaction ShouldComponentUpdate (les étudiants qui ne sont pas familiers avec le cycle de vie, veuillez vérifier les informations séparément) pour juger si this.props.location.action en vaut la peine. Déterminez si la valeur est PUSH ou POP en fonction des besoins réels du projet.

J'ai choisi POP car certaines exigences du projet nécessitent l'utilisation de window.location.hash='xxxxxxxx'. Dans ce cas, PUSH ne peut pas être déclenché, donc le saut de routage échouera.

1 shouldComponentUpdate() {2         // POP 浏览器前进后退, PUSH 点击Link3         return this.props.location.action === "POP"4 }
Copier après la connexion

Remarque : les responsables de Facebook ont ​​déclaré que cette situation est un BUG de React-Router, qui a été corrigé dans ^4.x.x.

Le contenu ci-dessus est ce que j'ai rencontré lors du développement du projet. Tout le monde rencontre des bugs différents, alors faites-le moi savoir. Merci!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment implémenter la liste déroulante du menu dans vue3 via la fonction de rendu Comment implémenter la liste déroulante du menu dans vue3 via la fonction de rendu May 10, 2023 pm 04:28 PM

Solution technique : écrivez d’abord un composant de liste déroulante. Tout d’abord, nous écrivons d’abord un composant pour afficher le contenu de la boîte déroulante. Le nom du composant commence par : Select.vue Welfare Mall Activité de la plate-forme Saas Composant de rendu personnalisé Nous souhaitons afficher ce composant sur la page Web. L'opération doit être la suivante : lorsque la souris se déplace vers le service du produit, affichez la liste déroulante. composant en tant qu’instance de composant à l’emplacement approprié sur la page. Dans vue3, rendant un Vonde, la logique de base est la suivante : import{createVNode,h,render,VNode}from'vue'importcomponentfrom"./component.

Pourquoi le bouillonnement d'événements se déclenche-t-il deux fois ? Pourquoi le bouillonnement d'événements se déclenche-t-il deux fois ? Feb 22, 2024 am 09:06 AM

Pourquoi le bouillonnement d'événements se déclenche-t-il deux fois ? Le bouillonnement d'événement (Event Bubbling) signifie que dans le DOM, lorsqu'un élément déclenche un événement (comme un événement de clic), l'événement bouillonne de l'élément vers l'élément parent jusqu'à ce qu'il bouillonne vers l'objet document de niveau supérieur. La diffusion d'événements fait partie du modèle d'événement DOM, qui permet aux développeurs de lier des écouteurs d'événements aux éléments parents, de sorte que lorsque des éléments enfants déclenchent des événements, ceux-ci puissent être capturés et traités via le mécanisme de diffusion. Cependant, les développeurs rencontrent parfois des événements qui se déclenchent deux fois.

Pièce Mpeppe (MPEPE) : un nouveau concurrent sur le marché des crypto-monnaies attirant les investisseurs de Render (RNDR) et d'Internet Computer (ICP) Pièce Mpeppe (MPEPE) : un nouveau concurrent sur le marché des crypto-monnaies attirant les investisseurs de Render (RNDR) et d'Internet Computer (ICP) Sep 03, 2024 pm 02:03 PM

Le monde des crypto-monnaies est en constante évolution, de nouveaux jetons captant l’attention des investisseurs chevronnés à la recherche de la prochaine grande opportunité.

Le rendu signifie-t-il le rendu ? Le rendu signifie-t-il le rendu ? Feb 02, 2023 pm 02:52 PM

Render signifie rendu et est un terme de dessin. Le rendu est le dernier processus de CG, et c'est aussi l'étape qui rend finalement l'image conforme à la scène 3D. Le rendu est appelé Render en anglais, et certaines personnes l'appelleront ombrage, mais. généralement, Shade est appelé Pour l'ombrage, Render est appelé rendu.

HMD Slate Tab 5G fuit en tant que tablette de milieu de gamme avec Snapdragon 7s Gen 2, écran de 10,6 pouces et design Lumia HMD Slate Tab 5G fuit en tant que tablette de milieu de gamme avec Snapdragon 7s Gen 2, écran de 10,6 pouces et design Lumia Jun 18, 2024 pm 05:46 PM

Avec le Skyline, HMD Global devrait dévoiler le 10 juillet un smartphone milieu de gamme dans le style du Nokia Lumia 920. Selon les dernières informations du leaker @smashx_60, le design Lumia sera bientôt également utilisé pour une tablette, qui sera c

Pourquoi le mécanisme de bouillonnement d'événements se déclenche-t-il deux fois ? Pourquoi le mécanisme de bouillonnement d'événements se déclenche-t-il deux fois ? Feb 25, 2024 am 09:24 AM

Pourquoi le bouillonnement d’événements se produit-il deux fois de suite ? La diffusion d'événements est un concept important dans le développement Web. Cela signifie que lorsqu'un événement est déclenché dans un élément HTML imbriqué, l'événement remonte de l'élément le plus interne vers l'élément le plus externe. Ce processus peut parfois prêter à confusion. Un problème courant est que la diffusion d'événements se produit deux fois de suite. Afin de mieux comprendre pourquoi le bouillonnement d'événements se produit deux fois de suite, regardons d'abord un exemple de code :

La pièce Render vaut-elle la peine d'être conservée à long terme ? Render Coin vaut-il la peine d'investir ? La pièce Render vaut-elle la peine d'être conservée à long terme ? Render Coin vaut-il la peine d'investir ? Mar 06, 2024 am 08:31 AM

Render Coin : Une opportunité d'investissement digne d'être détenue à long terme. Render Coin est une crypto-monnaie basée sur la blockchain Ethereum et est conçue pour payer les services de rendu sur le réseau de rendu décentralisé Render. L’objectif est de remédier au coût élevé et à l’inefficacité des solutions de rendu traditionnelles et de fournir aux artistes et créateurs une option de rendu abordable et pratique. L'avantage de Render Coin est la décentralisation : Render Coin est basé sur la blockchain Ethereum et présente des caractéristiques décentralisées, évitant le point de défaillance unique et les coûts élevés des fournisseurs de services de rendu centralisés. Haute efficacité : Render Coin utilise la technologie de rendu distribué pour attribuer des tâches de rendu aux GPU inactifs du monde entier, améliorant ainsi considérablement l'efficacité du rendu. Faible coût : Render Coin réduit le coût de rendu en éliminant les intermédiaires.

DTX Exchange (DTX) – Une nouvelle ère dans le trading en ligne DTX Exchange (DTX) – Une nouvelle ère dans le trading en ligne Aug 12, 2024 am 12:24 AM

Les personnes qui achètent des pièces cryptographiques de renom comme Render (RNDR), Mantle (MNT) et Sei (SEI) investissent désormais dans DTX Exchange (DTX).

See all articles