Rumah  >  Artikel  >  hujung hadapan web  >  Memerhati kedudukan sasaran dalam React: Pengesanan tatal lancar dan penggayaan kandungan dinamik

Memerhati kedudukan sasaran dalam React: Pengesanan tatal lancar dan penggayaan kandungan dinamik

王林
王林asal
2024-09-03 14:49:081178semak imbas

Observing target position in React: Seamless scroll detection and dynamic content styling

Pernahkah anda tersesat semasa menatal kandungan yang panjang, tertanya-tanya di mana anda berada dalam skema besar perkara? Kami semua pernah ke sana. Untuk memudahkan urusan, saya telah mencipta pakej npm ringkas yang membantu anda menjejaki kedudukan anda pada halaman dengan mengemas kini jadual kandungan (TOC) semasa anda menatal. Sama ada anda sedang mengerjakan tapak web dokumentasi atau projek dengan berbilang bahagian, pakej ini sedia membantu.

Lihat demo di sini.

Lawati halaman utama di sini.

Apa yang ada di dalam Pakej?

Pakej ini disertakan dengan tiga komponen dan satu cangkuk yang memudahkan untuk menyepadukan penjejakan tatal ke dalam tapak anda:

  1. InViewProvider: Ini seperti otak operasi. Ia menjejaki bahagian mana yang sedang dilihat dan memastikan semuanya kekal segerak. Hanya lilitkannya pada bahagian apl anda yang anda mahu dayakan penjejakan tatal.

  2. Sasaran: Anggap ini sebagai teg yang anda letakkan pada setiap bahagian kandungan anda. Dengan membalut bahagian anda dengan komponen Sasaran, anda memberitahu pakej, "Hei, awasi perkara ini!"

  3. ObserveZone: Ini adalah ruang di mana semua tindakan berlaku. Ia adalah komponen halimunan yang menonton kandungan anda dan Sasaran, memastikan TOC dikemas kini semasa anda menatal.

  4. useInView: Cangkuk berguna yang memberitahu anda apabila bahagian dilihat. Ini sesuai untuk mencetuskan animasi, kandungan malas memuatkan atau apa-apa lagi yang anda mahu berlaku apabila bahagian itu dilihat.

Mengapa Anda Mungkin Dapat Ini Berguna

  • Kekalkan Pengguna di Laluan: Apabila pengguna menatal kandungan anda, mereka boleh melihat bahagian yang mereka baca dengan mudah kerana TOC dikemas kini secara automatik. Tiada lagi tersesat dalam halaman yang panjang!

  • Kes Penggunaan Serbaguna: Walaupun ia bagus untuk tapak dokumentasi, anda juga boleh menggunakan pakej ini untuk perkara lain seperti mencetuskan animasi apabila bahagian tertentu kelihatan, malas memuatkan kandungan untuk menjimatkan sumber atau malah membuat panggilan API semasa pengguna menatal.

  • Mudah Dilaksanakan: Pakej ini direka bentuk dengan mudah. Dengan hanya beberapa komponen dan cangkuk, anda boleh menambahkannya pada projek React anda tanpa perlu bersusah payah.

Kemungkinan Kes Penggunaan

  • Tapak Dokumentasi: Sesuai untuk memautkan item TOC dengan bahagian kandungan, jadi pengguna sentiasa tahu di mana mereka berada.

  • Animasi dan Kesan: Ingin menambah sedikit bakat? Gunakan cangkuk useInView untuk mencetuskan animasi apabila bahagian memasuki port pandangan.

  • Malas Memuatkan Kandungan: Jimat masa pemuatan dengan memuatkan komponen hanya apabila ia diperlukan.

  • Panggilan API Dinamik: Ambil data atau muatkan kandungan secara dinamik semasa pengguna menatal halaman.

Bagaimana untuk Bermula

Amat mudah untuk mendapatkan pakej ini dan berjalan. Mula-mula, pasangkannya melalui npm:

npm install target-observer

Kemudian, gunakan komponen dalam projek anda seperti ini:

import { InViewProvider, Target, ObserveZone, useInView } from 'target-observer';

function DocumentationPage() {
  return (
    <InViewProvider targetIds={["section1", "section2"]}>
      <div style={{ position: "relative" }}>
       <ObserveZone />
         <TableOfContents />
         <main>
           <Target id="section1"><Section1 /></Target>
           <Target id="section2"><Section2 /></Target>
           {/* Add more sections as needed */}
         </main>
      </div>
    </InViewProvider>
  );
}

Dan itu sahaja! Dengan beberapa baris kod ini, TOC anda akan dikemas kini semasa pengguna menatal, menjadikan navigasi menjadi mudah.

Bungkus

Pakej npm ini ialah cara yang mudah tetapi berkesan untuk meningkatkan navigasi tapak web anda. Sama ada anda sedang mengusahakan dokumentasi atau mana-mana projek berat kandungan lain, alat ini membantu memastikan perkara tetap teratur dan mesra pengguna. Saya harap anda mendapati ia berguna seperti saya!

Foto Muka Depan oleh Patrick Hendry di Unsplash

Atas ialah kandungan terperinci Memerhati kedudukan sasaran dalam React: Pengesanan tatal lancar dan penggayaan kandungan dinamik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn