recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment revenir en haut lors du changement d'écran dans React JS et le défilement fluide de Lenis

<p>J'utilise lenis pour obtenir un défilement fluide et j'ai un fichier ScrollToTop.js que j'utilise dans mon App.js. Cela fonctionne bien lorsque la page ne défile pas, mais lorsque je clique sur un bouton qui m'amène à une autre page et que le « défilement fluide » se produit, scrollToTop ne fonctionne pas, est-ce que quelqu'un sait comment résoudre ce problème ? </p> <p>ScrollToTop.js</p> <pre class="brush:php;toolbar:false;">import { useEffect } depuis "react" ; importer { useLocation } depuis "react-router-dom" ; importer {gsap} depuis "gsap" ; importer { couleurs } depuis "./constantes" ; exporter la fonction par défaut ScrollToTop() { const { chemin d'accès } = useLocation(); const body = document.querySelector("corps"); useEffect(() => { window.scrollTo(0, 0); // gsap.to(body, { durée : 0, backgroundColor : couleurs.blanc }); }, [chemin d'accès]); renvoie null ; }</pré> <p>J'ai essayé d'utiliser useLayoutEffect sur chaque page mais cela ne fonctionne pas</p>
P粉662614213P粉662614213469 Il y a quelques jours650

répondre à tous(1)je répondrai

  • P粉198814372

    P粉1988143722023-08-19 09:18:53

    Comme d'autres l'ont souligné, vous enveloppez votre composant Routes avec un composant ScrollToTop, mais je recommande de le convertir en un hook React plutôt que de le modifier pour restituer sa propriété enfants implicite, d'autant plus qu'il ne restitue aucun contenu que vous avez. je veux qu'il s'exécute comme un effet secondaire de la navigation.

    répondre
    0
  • Annulerrépondre