0Pricing
React Academy · Pelajaran

Animasi Masuk dan Keluar Tanpa Pustaka

Terapkan animasi saat memasang dan melepas komponen dengan mengatur waktu tampilan dan opasitas secara manual di React.

Animasi Masuk dan Keluar Tanpa Pustaka adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar React Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus React Academy mencakup 4 pelajaran total.

Masalah Pelepasan Komponen

Saat Anda merender secara kondisional dengan {show && }, React menghapus elemen dari DOM segera setelah show menjadi false. Tidak ada waktu untuk animasi keluar karena simpulnya sudah tidak ada.

Animasi masuk mudah dilakukan; animasi keluar adalah tantangan yang sebenarnya.

Solusi 1: Pertahankan Komponen Tetap Terpasang

Perbaikan paling sederhana adalah jangan pernah melepasnya. Pertahankan elemen tetap dirender dan animasikan opacity menjadi nol, ditambah pointer-events: none saat tersembunyi, lalu kembalikan menjadi satu saat ditampilkan.

Dengan cara ini, Anda mendapatkan efek pudar yang mulus di kedua arah, dengan konsekuensi elemen tetap berada di DOM.

Solusi 2: Mesin Status Pemasangan

Untuk benar-benar melepas komponen, Anda memodelkan mesin status kecil dengan fase seperti mounting, mounted, unmounting, dan unmounted. Anda hanya menghapus simpul setelah animasi keluar selesai.

Status menentukan kelas animasi yang diterapkan pada setiap fase.

Pengait useMount

Anda dapat merangkum mesin tersebut dalam pengait khusus yang sering disebut useMount. Pengait ini menerima visibilitas yang diinginkan dan mengembalikan apakah elemen harus berada di DOM, beserta fasenya saat ini.

Komponen tetap rapi karena logika waktunya berada di dalam pengait yang dapat digunakan kembali.

Pasangan Kelas Masuk dan Keluar

Mengikuti konvensi umum, terapkan enter lalu enter-active saat pemasangan, dan exit lalu exit-active saat pelepasan. Kelas dasar menetapkan status awal, sedangkan kelas aktif menetapkan status akhir dengan transisi.

Beralih di antara keduanya pada bingkai yang tepat akan menghasilkan animasi.

Mendengarkan Akhir Transisi

Untuk mengetahui kapan animasi keluar selesai, dengarkan peristiwa transitionend pada elemen. Saat peristiwa tersebut terjadi untuk animasi keluar, ubah status menjadi unmounted dan hapus simpulnya.

Dengan cara ini, pelepasan terikat secara tepat pada akhir animasi visual, bukan pada batas waktu yang diperkirakan.

Komponen Transisi yang Dapat Digunakan Kembali

Anda dapat membungkus semua hal ini dalam komponen Transition yang menerima properti in dan elemen anak. Komponen ini mempertahankan elemen anak selama animasi keluarnya dan menerapkan kelas yang tepat untuk setiap fase.

Pengguna cukup mengubah in dan langsung mendapatkan gerakan masuk serta keluar yang benar.

Memicu Kelas Aktif dengan Benar

Perhatikan detail kecil ini: Anda harus membiarkan peramban menampilkan kelas awal sebelum menambahkan kelas aktif; jika tidak, elemen akan meloncat tanpa transisi. requestAnimationFrame atau penghitungan ulang tata letak secara paksa di antara keduanya memastikan transisi benar-benar berjalan.

Hal ini menjamin peramban mengenali nilai awal terlebih dahulu.

Membandingkan dengan react-transition-group

Pustaka react-transition-group menyediakan komponen Transition dan CSSTransition yang menerapkan pola ini secara tepat, termasuk siklus hidup kelas dan waktu pelepasan.

Versi DIY Anda mencerminkan gagasan intinya, sehingga pustaka ini mudah dipahami setelah Anda membuatnya sendiri.

Kapan Menggunakan Pustaka atau DIY

Untuk satu efek pudar sederhana, pendekatan mempertahankan pemasangan atau pengait kecil sudah cukup dan menghindari dependensi. Untuk banyak transisi yang terkoordinasi, daftar dengan penambahan dan penghapusan, atau pengurutan yang rumit, pustaka menghemat waktu dan mengurangi kesalahan pada kasus khusus.

Pilihlah berdasarkan tingkat kompleksitas animasi yang benar-benar diperlukan aplikasi Anda.

Menyatukan Semuanya

Animasi keluar mengharuskan elemen tetap ada hingga animasinya selesai, baik dengan tidak pernah melepasnya, menggunakan mesin status ditambah transitionend, maupun menggunakan pustaka.

Memahami mekanismenya memungkinkan Anda memilih pendekatan paling ringan yang memenuhi kebutuhan Anda.

Pemeriksaan Singkat

Uji pemahaman Anda tentang animasi keluar.

Ringkasan

Anda telah mempelajari mengapa animasi keluar sulit, dua solusinya—mempertahankan pemasangan dan mesin status pemasangan—, cara transitionend menentukan waktu pelepasan, serta cara membuat komponen Transition yang dapat digunakan kembali.

Anda juga telah melihat kapan sebaiknya memilih react-transition-group daripada DIY.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Animasi Masuk dan Keluar Tanpa Pustaka” gratis?

Ya — teks lengkap “Animasi Masuk dan Keluar Tanpa Pustaka” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus React Academy, upgrade ke CoddyKit PRO. Kursus React Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Animasi Masuk dan Keluar Tanpa Pustaka”?

Terapkan animasi saat memasang dan melepas komponen dengan mengatur waktu tampilan dan opasitas secara manual di React. Kamu berlatih React Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai React Academy?

Tidak diperlukan pengalaman sebelumnya. React Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Animasi Masuk dan Keluar Tanpa Pustaka” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran React Academy ini?

Ya. Setiap pelajaran React Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Transisi CSS dengan Perubahan Status React
  2. Animasi Keyframe CSS dengan React
  3. useLayoutEffect untuk Pengukuran Sebelum Animasi
  4. Animasi Masuk dan Keluar Tanpa Pustaka
← Kembali ke React Academy