React Academy · Pelajaran

Melanggan API Pelayar

Bina cangkuk yang melanggan matchMedia, navigator.onLine, sejarah tetingkap dan localStorage menggunakan useSyncExternalStore.

Pelajaran 3 daripada 412 langkah

Melanggan API Pelayar ialah pelajaran React Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran React Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus React Academy merangkumi sejumlah 4 pelajaran.

Melanggan matchMedia

Pertanyaan media pelayar ialah contoh stor luaran yang sangat sesuai. Anda boleh melanggan pertanyaan matchMedia untuk mod gelap atau titik putus dan memaparkan semula komponen setiap kali status padanan berubah.

Fungsi langganan menambah pendengar perubahan pada MediaQueryList, manakala getSnapshot memulangkan nilai benar atau palsu padanan semasanya, lalu memberikan anda akses reaktif kepada keadaan responsif.

Cangkuk useMediaQuery

Membungkus logik itu ke dalam cangkuk useMediaQuery membolehkan komponen bertanya sama ada sesuatu pertanyaan sepadan hanya dengan satu panggilan. Cangkuk ini membina fungsi langganan dan getSnapshot yang stabil berdasarkan rentetan pertanyaan tertentu.

Hasilnya ialah primitif yang kemas dan boleh digunakan semula untuk tingkah laku responsif, serta kekal konsisten semasa pemaparan serentak berkat useSyncExternalStore.

Status navigator.onLine

Pelayar menyediakan peristiwa dalam talian dan luar talian serta navigator.onLine. Dengan melanggan peristiwa tersebut dan membaca sifat itu, anda memperoleh status sambungan langsung di dalam React.

getSnapshot memulangkan navigator.onLine, manakala fungsi langganan melampirkan pendengar untuk peristiwa dalam talian dan luar talian supaya komponen dikemas kini apabila sambungan berubah.

Cangkuk useOnlineStatus

Menggabungkan logik itu ke dalam cangkuk useOnlineStatus membolehkan mana-mana komponen memaparkan sepanduk luar talian atau melumpuhkan tindakan apabila rangkaian terputus. Dokumentasi rasmi React menggunakan contoh tepat ini untuk menerangkan cangkuk tersebut.

Ini ialah contoh kecil tetapi jelas tentang cara isyarat pelayar luaran boleh dipetakan dengan kemas kepada sebahagian keadaan reaktif.

Melanggan window.location

Anda boleh melanggan perubahan navigasi dengan mendengar peristiwa perubahan sejarah dan membaca window.location dalam getSnapshot. Perkara ini menjadi asas kepada penghala tersuai ringkas yang dibina menggunakan API Sejarah.

Oleh sebab pushState tidak menghasilkan peristiwa perubahan sejarah, penghala tersuai sering mencetuskan peristiwa sendiri supaya petikan dikemas kini semasa navigasi terprogram juga.

localStorage Rentas Tab melalui Peristiwa Storan

Peristiwa storan dicetuskan dalam tab lain apabila localStorage berubah, menjadikannya stor luaran yang boleh anda langgani. getSnapshot membaca nilai semasa, manakala fungsi langganan mendengar peristiwa storan.

Hal ini membolehkan penyegerakan rentas tab, iaitu pengemaskinian nilai dalam satu tab mengemas kini komponen secara reaktif dalam tab yang lain.

deviceOrientation

Peristiwa deviceorientation melaporkan kecondongan fizikal peranti. Dengan melanggannya dan membaca sudut terkini dalam getSnapshot, data pergerakan boleh dijadikan keadaan reaktif.

Hal ini berguna untuk kesan paralaks atau visualisasi interaktif yang bertindak balas terhadap cara telefon dipegang.

Pembungkus IntersectionObserver

IntersectionObserver memberitahu anda apabila sesuatu elemen memasuki atau meninggalkan kawasan pandangan. Anda boleh membungkusnya supaya fungsi langganan mencipta pemerhati dan getSnapshot memulangkan nilai isIntersecting terkini.

Hasilnya ialah penunjuk isVisible reaktif untuk pemuatan tertunda imej, pencetusan animasi atau pelaksanaan penanda tatalan tanpa penghujung.

ResizeObserver untuk Saiz Elemen

ResizeObserver melaporkan perubahan saiz elemen. Dengan membungkusnya, fungsi langganan boleh memerhati elemen dan getSnapshot memulangkan dimensinya semasa, supaya komponen bertindak balas dengan tepat terhadap perubahan susun atur.

Kaedah ini lebih cekap dan tepat daripada mendengar perubahan saiz tetingkap apabila anda mengambil berat tentang elemen tertentu dan bukannya seluruh kawasan pandangan.

Menggabungkan ke dalam useWindowSize

Anda boleh menggabungkan peristiwa perubahan saiz dengan cangkuk ini untuk membina useWindowSize yang memulangkan lebar dan tinggi semasa. Fungsi langganan melampirkan pendengar perubahan saiz, manakala getSnapshot membaca dimensi tetingkap.

Ingat untuk memulangkan petikan yang stabil dengan menyimpan objek saiz dalam ingatan sementara supaya dimensi yang tidak berubah tidak menyebabkan pemaparan semula, sekali gus memastikan penggabungan kekal cekap.

Semakan Pantas: Pelaksanaan useMediaQuery

Huraikan cara cangkuk useMediaQuery menggunakan cangkuk stor.

Ulang Kaji: Melanggan API Pelayar

Banyak API pelayar ialah stor luaran yang boleh disambungkan melalui useSyncExternalStore: matchMedia untuk titik putus, navigator.onLine untuk sambungan, lokasi dan storan untuk navigasi serta penyegerakan rentas tab, di samping pemerhati orientasi, persilangan dan perubahan saiz.

Setiap satunya mengikut bentuk yang sama, iaitu fungsi langganan yang melampirkan dan menanggalkan pendengar serta getSnapshot yang stabil. Gabungkan semuanya ke dalam cangkuk seperti useMediaQuery, useOnlineStatus dan useWindowSize.

Percuma untuk bermula

Pelajari React dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
88
Pelajaran
324

Soalan Lazim

Adakah pelajaran “Melanggan API Pelayar” percuma?

Ya — teks penuh “Melanggan API Pelayar” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus React Academy, tingkat taraf kepada CoddyKit PRO. Kursus React Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Melanggan API Pelayar”?

Bina cangkuk yang melanggan matchMedia, navigator.onLine, sejarah tetingkap dan localStorage menggunakan useSyncExternalStore. Anda berlatih React Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan React Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran React Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Melanggan API Pelayar” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran React Academy ini?

Ya. Setiap pelajaran React Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Masalah Langganan Gedung Luaran
  2. API dan Parameter useSyncExternalStore
  3. Melanggan API Pelayar
  4. Membina Gedung Tersuai dengan useSyncExternalStore
← Kembali ke React Academy