React JS と Lenis のスムーズスクロールで画面を切り替えるときにトップに戻る方法
P粉662614213
P粉662614213 2023-08-18 09:58:58
0
1
681
<p>スムーズなスクロールを実現するために lenis を使用しており、App.js で使用する ScrollToTop.js ファイルがあります。ページがスクロールしていないときは正常に動作しますが、別のページに移動するボタンをクリックして「スムーズなスクロール」が発生すると、scrollToTop が動作しません。これを修正する方法を知っている人はいますか? </p> <p>ScrollToTop.js</p> <pre class="brush:php;toolbar:false;">import { useEffect } from "react"; 「react-router-dom」からインポート { useLocation }; "gsap" から { gsap } をインポートします。 import { 色 } から "./constants"; デフォルト関数 ScrollToTop() をエクスポート { const { パス名 } = useLocation(); const body = document.querySelector("body"); useEffect(() => { window.scrollTo(0, 0); // gsap.to(body, { 継続時間: 0, 背景色: color.white }); }, [パス名]); null を返します。 }</pre> <p>すべてのページで useLayoutEffect を使用してみましたが、機能しません</p>
P粉662614213
P粉662614213

全員に返信(1)
P粉198814372

他の人が指摘したように、Routes コンポーネントを ScrollToTop コンポーネントでラップしていますが、実際には何もレンダリングしないことを特に考慮して、編集して暗黙の子プロパティをレンダリングするのではなく、React フックに変換することをお勧めします。 、ナビゲーションの副作用として実行したいとします。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート