Seni Bina dnd-kit dan Reka Bentuk Mengutamakan Kebolehcapaian
Fahami model penderia dnd-kit, pengumuman kebolehcapaian dan perbezaannya daripada react-beautiful-dnd.
Seni Bina dnd-kit dan Reka Bentuk Mengutamakan Kebolehcapaian ialah pelajaran React Academy percuma di CoddyKit. Ini ialah pelajaran 1 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.
Mengapa dnd-kit Menggantikan react-beautiful-dnd
react-beautiful-dnd ialah pustaka seret dan lepas pilihan utama untuk React, tetapi telah diarkibkan secara rasmi pada 2023 dan tidak lagi diselenggara. Komuniti segera memilih dnd-kit sebagai pengganti yang disyorkan, yang direka dari awal dengan mengambil kira React moden dan kebolehcapaian.
Seni Bina Teras dnd-kit
dnd-kit dibina berasaskan tiga konsep seni bina utama: DndContext mengurus semua keadaan seretan dan menyelaraskan elemen boleh diseret dengan elemen boleh menerima lepasan, penderia mengabstrakkan kaedah masukan supaya logik seretan yang sama berfungsi dengan tetikus, sentuhan, dan papan kekunci, manakala pengubah membolehkan anda menjajarkan, mengehadkan, atau mengubah pergerakan seretan.
Penderia: Abstraksi Masukan
dnd-kit disertakan dengan tiga penderia terbina dalam. PointerSensor mengendalikan masukan tetikus dan sentuhan melalui API Pointer Events yang disatukan. KeyboardSensor membolehkan seret dan lepas sepenuhnya menggunakan papan kekunci. TouchSensor mengendalikan peristiwa sentuhan legasi. Anda mengkonfigurasikan penderia melalui prop sensors pada DndContext.
Arahan Seret dan Lepas Menggunakan Papan Kekunci
dnd-kit mempunyai navigasi papan kekunci terbina dalam untuk kebolehcapaian. Pengguna menekan bar ruang untuk mengambil item, kekunci anak panah untuk mengalihkannya ke kedudukan baharu, bar ruang sekali lagi untuk melepaskannya, dan Escape untuk membatalkan seretan tanpa membuat perubahan. Interaksi ini diumumkan kepada pembaca skrin secara automatik.
Sokongan ARIA dan Pembaca Skrin
dnd-kit menggunakan aria-grabbed secara automatik pada item boleh diseret untuk menunjukkan keadaannya kepada teknologi bantuan. Ia menggunakan aria-dropeffect pada zon boleh menerima lepasan untuk menyampaikan perkara yang akan berlaku apabila item dilepaskan. Kawasan langsung mengumumkan kemas kini status supaya pengguna pembaca skrin mendengar pengesahan seperti "Item diambil" atau "Item berjaya dilepaskan."
Reka Bentuk dengan Penghapusan Pepohon dan Tanpa CSS
dnd-kit direka supaya bahagian yang tidak digunakan boleh dihapuskan semasa proses tree shaking, bermakna anda hanya mengimport bahagian yang benar-benar digunakan. Tiada CSS yang disertakan — semua penggayaan visual menjadi tanggungjawab anda, memberikan kawalan penuh terhadap penampilan elemen boleh diseret, lapisan tindanan, dan zon lepasan. Ini memastikan saiz pakej kekal minimum.
Panggilan Balik Peristiwa DndContext
DndContext menyediakan tiga panggilan balik peristiwa utama untuk menjejaki kitar hayat seretan. onDragStart dicetuskan apabila pengguna mula menyeret dan menerima ID item aktif. onDragOver dicetuskan secara berterusan apabila item yang diseret bergerak di atas sasaran boleh menerima lepasan. onDragEnd dicetuskan apabila seretan selesai, lalu memberikan item aktif dan sasaran lepasan.
Mengkonfigurasi Penderia pada DndContext
Anda menghantar tatasusunan konfigurasi penderia kepada DndContext menggunakan prop sensors yang digabungkan dengan cangkuk useSensors. Setiap penderia dimulakan dengan useSensor(SensorClass, options). Sebagai contoh, anda boleh mengkonfigurasikan PointerSensor dengan jarak seretan minimum untuk mengelakkan seretan tidak sengaja semasa mengklik.
Pengubah untuk Kekangan Pergerakan
Pengubah mengubah koordinat seretan sebelum koordinat tersebut digunakan pada elemen yang diseret. restrictToVerticalAxis mengunci pergerakan pada satu arah. restrictToParentElement memastikan item yang diseret kekal dalam bekasnya. snapCenterToCursor menjajarkan elemen supaya pusatnya mengikuti kursor. Anda menggabungkan beberapa pengubah dalam tatasusunan.
Sistem ID Elemen Seret dan Lepas
Setiap elemen boleh diseret dan boleh menerima lepasan memerlukan ID rentetan atau nombor yang unik. ID ini ialah cara utama dnd-kit menjejaki perkara yang sedang diseret dan tempat ia dilepaskan. Dalam onDragEnd, anda membaca event.active.id untuk item yang diseret dan event.over?.id untuk sasaran lepasan bagi mengemas kini keadaan aplikasi anda.
Falsafah Mengutamakan Kebolehcapaian
Tidak seperti banyak pustaka DnD yang menganggap sokongan papan kekunci sebagai perkara sampingan, dnd-kit meletakkan kebolehcapaian sebagai teras reka bentuknya. KeyboardSensor ialah komponen utama dengan keupayaan yang sama seperti PointerSensor. Semua atribut ARIA diurus secara automatik, dan pengumuman tersuai boleh dikonfigurasikan melalui prop accessibility pada DndContext.
Semakan Penderia Papan Kekunci
Apakah kekunci yang digunakan oleh dnd-kit untuk membatalkan seretan papan kekunci yang sedang berlangsung tanpa membuat perubahan?
Ringkasan Pelajaran: Asas dnd-kit
dnd-kit menggantikan react-beautiful-dnd yang telah diarkibkan sebagai piawaian komuniti untuk seret dan lepas React. Seni binanya berpusat pada DndContext untuk keadaan, penderia untuk abstraksi masukan (Pointer, Keyboard, Touch), dan pengubah untuk kekangan pergerakan. Kebolehcapaian diberi keutamaan: atribut ARIA, pengumuman kawasan langsung, dan navigasi papan kekunci sepenuhnya terbina dalam.
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 “Seni Bina dnd-kit dan Reka Bentuk Mengutamakan Kebolehcapaian” percuma?
Ya — teks penuh “Seni Bina dnd-kit dan Reka Bentuk Mengutamakan Kebolehcapaian” 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 “Seni Bina dnd-kit dan Reka Bentuk Mengutamakan Kebolehcapaian”?
Fahami model penderia dnd-kit, pengumuman kebolehcapaian dan perbezaannya daripada react-beautiful-dnd. 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 1 daripada 4.
Berapa lamakah pelajaran “Seni Bina dnd-kit dan Reka Bentuk Mengutamakan Kebolehcapaian” 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
- Seni Bina dnd-kit dan Reka Bentuk Mengutamakan Kebolehcapaian
- DndContext, useDraggable dan useDroppable
- SortableContext untuk Senarai yang Boleh Disusun Semula
- Tindanan Seretan Tersuai dan DnD Berbilang Bekas