0Pricing
React Academy · Pelajaran

Transisi CSS dengan Perubahan Status React

Picu transisi CSS dengan mengubah nama kelas menggunakan status React—transisi opasitas, transformasi, dan warna.

Transisi CSS dengan Perubahan Status React adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 1 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.

Apa Itu Transisi CSS

Transisi CSS transition menginterpolasikan sebuah properti secara halus antara dua nilai selama jangka waktu tertentu, alih-alih berpindah secara instan. Anda mendeklarasikannya pada elemen dengan transition: property duration timing-function delay.

Dalam React, biasanya Anda tidak menganimasikan nilai sebaris secara manual. Sebagai gantinya, Anda mengganti kelas atau gaya berdasarkan status, lalu CSS menangani bingkai perantara untuk Anda.

Memicu Transisi dengan Mengganti Kelas

Pola yang umum adalah menyimpan nilai benar-salah dalam useState dan mengganti kelas CSS saat nilainya berubah. Saat kelas berubah, properti target memperoleh nilai baru dan CSS menganimasikan perbedaannya.

Misalnya, isOpen menentukan apakah elemen memiliki kelas open, dan kelas open menetapkan tinggi atau transformasi yang berbeda.

Status isVisible Benar-Salah

Pengaturan yang umum adalah const [isVisible, setIsVisible] = useState(false). Sebuah tombol memanggil setIsVisible(v => !v) untuk membalik nilainya.

Menggunakan pembaru berbasis fungsi v => !v mencegah penggunaan status lama saat beberapa pembaruan masuk antrean, sehingga penggantian tetap andal.

Kelas Kondisional dengan String Templat

Anda membuat className secara dinamis: className={'panel ' + (isVisible ? 'panel--shown' : 'panel--hidden')}. Kelas dasar menyimpan deklarasi transisi, sedangkan kelas pengubah menyimpan nilai awal dan akhir.

Menempatkan transition pada kelas dasar yang selalu ada memastikan animasi berjalan dalam kedua arah, saat membuka maupun menutup.

Mentransisikan Transformasi dan Opasitas Bersamaan

Anda dapat menganimasikan beberapa properti sekaligus dengan mencantumkannya: transition: transform 300ms ease, opacity 300ms ease. Efek pudar dan geser menggabungkan perubahan opacity dengan translateY pada transform.

Menganimasikan keduanya secara bersamaan menghasilkan kemunculan yang rapi, saat elemen bergeser ke atas sambil memudar masuk.

Membuat Jeda Bertingkat dengan transition-delay

transition-delay menunda dimulainya transisi. Dengan memberikan jeda yang semakin panjang pada setiap elemen daftar, Anda membuat rangkaian bertingkat yang membuat setiap elemen menganimasi sedikit setelah elemen sebelumnya.

Dalam React, Anda dapat menghitung jeda secara sebaris, misalnya style={{ transitionDelay: index * 50 + 'ms' }}.

Mengapa Properti Tampilan Tidak Dapat Ditransisikan

Properti display tidak dapat dianimasikan karena tidak memiliki nilai perantara antara none dan block. Mentransisikannya menghasilkan lompatan instan, bukan efek pudar.

Sebagai gantinya, animasikan opacity untuk menghasilkan efek pudar secara visual dan aktifkan atau nonaktifkan pointer-events: none agar elemen tersembunyi mengabaikan klik saat tidak terlihat.

Fungsi Pengaturan Waktu

Fungsi pengaturan waktu menentukan bagaimana kecepatan berubah selama durasi. linear bergerak dengan kecepatan konstan, ease dimulai dan berakhir secara perlahan, sedangkan cubic-bezier(...) memungkinkan Anda menentukan kurva khusus sepenuhnya.

Kurva khusus cocok untuk nuansa yang cepat atau memantul, misalnya cubic-bezier(0.34, 1.56, 0.64, 1) untuk sedikit efek melewati sasaran.

Variabel CSS untuk Durasi

Anda dapat menyimpan durasi dalam properti khusus CSS seperti --speed: 300ms dan menggunakannya kembali: transition: opacity var(--speed) ease. Hal ini menjaga waktu tetap konsisten di berbagai komponen.

React bahkan dapat menetapkan variabel tersebut secara sebaris melalui style={{ '--speed': '500ms' }}, sehingga properti komponen dapat mengatur waktu animasi.

Utamakan Transformasi dan Opasitas demi Performa

Peramban dapat menganimasikan transform dan opacity pada kompositor GPU tanpa menghitung ulang tata letak atau menggambar ulang. Menganimasikan properti seperti width, top, atau margin memaksa peramban melakukan pekerjaan tata letak pada setiap bingkai dan dapat menyebabkan gerakan tersendat.

Saat perlu memindahkan, menskalakan, atau memutar elemen, gunakan transform; saat perlu membuatnya memudar, gunakan opacity.

Menyatukan Semuanya

Transisi yang andal dalam React menggabungkan status benar-salah, kelas pengubah kondisional, dan kelas dasar yang mendeklarasikan transition pada properti yang ramah GPU. Status mengganti kelas, lalu CSS melakukan animasinya.

Hal ini menjaga komponen tetap deklaratif sekaligus memanfaatkan peramban untuk menghasilkan gerakan yang halus.

Pemeriksaan Cepat

Uji pemahaman Anda tentang animasi yang efisien.

Ringkasan

Anda telah mempelajari cara memicu transisi CSS dengan mengganti kelas yang dikendalikan status, menganimasikan transformasi dan opasitas secara bersamaan, membuat jeda bertingkat, serta menghindari transisi pada display dengan menggunakan opasitas dan pointer-events.

Anda juga telah mempelajari fungsi pengaturan waktu, durasi dengan variabel CSS, dan alasan properti yang dikomposisikan GPU menjaga gerakan tetap halus.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Transisi CSS dengan Perubahan Status React” gratis?

Ya — teks lengkap “Transisi CSS dengan Perubahan Status 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 “Transisi CSS dengan Perubahan Status React”?

Picu transisi CSS dengan mengubah nama kelas menggunakan status React—transisi opasitas, transformasi, dan warna. 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 1 dari 4.

Berapa lama pelajaran “Transisi CSS dengan Perubahan Status 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