Comment revenir en haut lors du changement d'écran dans React JS et le défilement fluide de Lenis
P粉662614213
P粉662614213 2023-08-18 09:58:58
0
1
687
<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粉662614213
P粉662614213

répondre à tous(1)
P粉198814372

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal