0Pricing
React Academy · Pelajaran

Animasi Keyframe CSS dengan React

Terapkan dan hapus animasi @keyframes secara dinamis berdasarkan status serta peristiwa komponen.

Animasi Keyframe CSS dengan React adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 2 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.

Mendefinisikan @keyframes

Aturan @keyframes menjelaskan animasi bertahap dengan menetapkan nilai properti pada berbagai titik di sepanjang garis waktu, menggunakan from/to atau persentase seperti 0%, 50%, dan 100%.

Tidak seperti transisi, aturan bingkai kunci dapat menjelaskan gerakan kompleks dalam beberapa tahap yang berjalan sendiri tanpa perubahan status pada setiap langkah.

Singkatan Animasi

Anda menerapkan sekumpulan bingkai kunci dengan properti animation: animation: slideIn 400ms ease forwards. Properti ini menggabungkan nama, durasi, fungsi pengaturan waktu, dan mode pengisian.

Mode pengisian forwards mempertahankan elemen pada nilai bingkai kunci terakhir setelah animasi berakhir, sehingga mencegahnya tiba-tiba kembali ke posisi awal.

Menerapkan Kelas Animasi melalui Status

Dalam React, biasanya Anda menambahkan kelas yang membawa deklarasi animation saat status menjadi benar. Misalnya, menambahkan is-entering memulai animasi bingkai kunci saat elemen dipasang atau sebuah penanda berubah.

Hal ini menjaga logika animasi tetap berada di CSS, sementara React hanya menentukan kapan kelas tersebut dipasang.

Mode Pengisian Animasi

animation-fill-mode mengontrol gaya yang diterapkan sebelum dan sesudah animasi berjalan. forwards mempertahankan bingkai kunci terakhir, backwards menerapkan bingkai kunci pertama selama jeda apa pun, dan both melakukan keduanya.

Tanpa forwards, elemen yang dianimasikan menuju keadaan tampak akan kembali menjadi tidak terlihat saat animasi selesai.

Arah Animasi Alternatif

animation-direction: alternate memutar animasi maju lalu mundur pada setiap iterasi. Jika digabungkan dengan animation-iteration-count: infinite, properti ini menghasilkan gerakan maju-mundur yang halus seperti efek berdenyut atau bernapas.

Hal ini berguna untuk indikator pemuatan atau gerakan halus yang menarik perhatian.

Menjeda dengan Status Pemutaran Animasi

animation-play-state dapat berupa running atau paused. Anda dapat mengendalikannya dari status React, misalnya menjeda teks berjalan saat kursor diarahkan ke sana dengan mengganti kelas.

Karena animasi dijeda, bukan diatur ulang, animasi dilanjutkan tepat dari posisi saat berhenti.

Memicu Ulang dengan Mengubah Properti Kunci

Animasi bingkai kunci hanya diputar sekali saat kelasnya pertama kali diterapkan; menambahkan kembali kelas yang sama tidak akan memulainya lagi. Trik React yang paling bersih adalah mengubah key elemen agar React memasang ulang simpul baru dan memutar animasi dari awal.

Misalnya, key={count} pada notifikasi memasangnya ulang setiap kali count bertambah.

Menghormati Preferensi Gerakan yang Dikurangi

Beberapa pengguna mengaktifkan gerakan yang dikurangi di OS mereka demi kenyamanan atau aksesibilitas. Bungkus animasi yang tidak esensial dalam @media (prefers-reduced-motion: reduce), lalu nonaktifkan atau persingkat animasi tersebut di sana.

Menghormati preferensi ini membuat antarmuka Anda lebih inklusif dan mencegah munculnya rasa tidak nyaman.

Memicu Saat Menggulir dengan IntersectionObserver

Untuk menganimasikan elemen saat memasuki area pandang, gunakan IntersectionObserver dalam useEffect. Saat entri menjadi terlihat, Anda mengatur status, yang kemudian menambahkan kelas animasi.

Dengan cara ini, Anda mendapatkan efek kemunculan saat menggulir tanpa pendengar pengguliran berat yang berjalan di setiap bingkai.

Mengatur Urutan dengan Jeda Animasi

animation-delay mengatur perbedaan waktu dimulainya setiap animasi bingkai kunci. Memberikan jeda yang semakin panjang pada daftar item membuatnya beranimasi secara berurutan sehingga menghasilkan kemunculan yang teratur.

Anda dapat menghitung jeda setiap item di React dengan style={{ animationDelay: i * 80 + 'ms' }}.

Bingkai Kunci dibandingkan dengan Transisi

Gunakan transisi untuk perubahan sederhana antara dua status yang dipicu oleh interaksi, dan gunakan bingkai kunci saat Anda memerlukan gerakan bertahap, pengulangan, atau animasi yang berjalan secara independen dari perubahan status.

Keduanya murni berupa CSS, jadi React hanya menentukan kapan kelas diterapkan dan peramban menangani bingkainya.

Pemeriksaan Singkat

Uji pemahaman Anda tentang perilaku bingkai kunci.

Ringkasan

Anda telah mempelajari cara mendefinisikan @keyframes, menerapkannya dengan singkatan animation, mengontrol mode pengisian dan arah, menjeda serta memicu ulang animasi, dan menampilkan elemen saat menggulir dengan IntersectionObserver.

Anda juga telah melihat cara menghormati prefers-reduced-motion untuk menghasilkan gerakan yang aksesibel.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Animasi Keyframe CSS dengan React” gratis?

Ya — teks lengkap “Animasi Keyframe CSS dengan React” 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 Keyframe CSS dengan React”?

Terapkan dan hapus animasi @keyframes secara dinamis berdasarkan status serta peristiwa komponen. 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 2 dari 4.

Berapa lama pelajaran “Animasi Keyframe CSS dengan React” 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