Dasar React Spring: Hook useSpring
Animasikan nilai dengan useSpring—konfigurasikan ketegangan, gesekan, dan massa untuk gerakan yang terasa alami.
Dasar React Spring: Hook useSpring 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.
Fisika Pegas vs Animasi Berbasis Durasi
Animasi CSS tradisional menggunakan durasi tetap: animasi berjalan selama X milidetik lalu berhenti. react-spring menganimasikan nilai menggunakan fisika pegas — animasi digerakkan oleh ketegangan (kekakuan pegas) dan gesekan (seberapa besar pegas menahan gerakan). Hasilnya adalah gerakan yang melambat secara alami dan terasa organik.
Penggunaan Dasar useSpring
Kait useSpring({ from, to }) mendefinisikan nilai yang dianimasikan. Anda menentukan nilai awal dalam from dan nilai target dalam to. useSpring mengembalikan objek pegas yang setiap kuncinya merupakan SpringValue — versi animasi dari nilai numerik atau warna yang sesuai.
Konfigurasi Pegas: Ketegangan dan Gesekan
Opsi config mengatur perilaku pegas. Ketegangan (bawaan 170) mengatur kekakuan — nilai yang lebih tinggi kembali dengan lebih cepat. Gesekan (bawaan 26) mengatur redaman — nilai yang lebih rendah menghasilkan lebih banyak pantulan. Massa (bawaan 1) menambahkan inersia. Ketiga nilai ini bersama-sama menentukan karakter animasi.
Konfigurasi Prasetel
react-spring menyediakan konfigurasi prasetel yang dapat digunakan tanpa penyesuaian: config.default seimbang dan serbaguna, config.gentle lambat dan halus, config.wobbly memantul dengan gesekan rendah, config.stiff cepat dan responsif, sedangkan config.slow berjalan sangat bertahap. Impor konfigurasi tersebut dari react-spring.
Objek SpringValue
Nilai yang dikembalikan oleh useSpring adalah objek SpringValue, bukan angka biasa. Anda tidak dapat merendernya secara langsung di JSX atau menggunakannya dalam objek gaya biasa. Nilai tersebut harus diterapkan pada komponen animated.* yang mengetahui cara berlangganan pembaruan pegas dan menerapkannya ke DOM secara efisien.
immediate: Lewati Animasi
Memberikan immediate: true kepada useSpring membuat nilai langsung berpindah ke sasaran, sehingga melewati animasi pegas. Ini berguna untuk tampilan awal, ketika pengguna mengaktifkan "kurangi gerakan" dalam pengaturan OS, atau ketika Anda perlu mengatur ulang posisi secara terprogram tanpa gerakan visual apa pun.
Membalikkan Animasi Pegas
Anda dapat membalikkan animasi pegas dengan mengubah nilai mana yang berada dalam from dan to. Pola yang umum adalah menyimpan status pengalih benar/salah dan menghitung from/to berdasarkan status tersebut: ketika pengalih bernilai false, animasikan dari 0 ke 1; ketika bernilai true, animasikan dari 1 ke 0. react-spring melakukan transisi antarstatus dengan mulus.
API Imperatif: api.start()
useSpring dapat mengembalikan larik dua elemen: const [springs, api] = useSpring(() => ({ from: { x: 0 } })). Objek api memberi Anda kendali terprogram. Panggil api.start({ x: 100 }) untuk menganimasikan ke nilai baru, api.stop() untuk membekukan animasi, dan api.set({ x: 50 }) untuk berpindah secara langsung tanpa animasi.
Kapan Menggunakan Deklaratif vs Imperatif
Gunakan bentuk deklaratif useSpring({ from, to }) ketika animasi bergantung pada status React yang berubah secara normal. Gunakan bentuk imperatif dengan api.start() ketika Anda perlu memicu animasi dari penangan acara, gestur, atau operasi asinkron tanpa menyebabkan React merender ulang.
Panggilan Balik Peristiwa Pegas
useSpring menerima panggilan balik siklus hidup dalam konfigurasinya. onStart dipanggil ketika pegas mulai beranimasi. onChange dipanggil pada setiap bingkai dengan nilai saat ini—berguna untuk efek samping yang melacak posisi. onRest dipanggil ketika pegas stabil pada nilai akhirnya, yang menandakan bahwa animasi telah selesai.
Menjalankan Ulang Animasi Pegas Saat Status Berubah
Dalam bentuk deklaratif, useSpring secara otomatis menjalankan ulang animasi ketika nilai yang diberikan kepadanya berubah. Misalnya, useSpring({ opacity: isVisible ? 1 : 0 }) akan menganimasikan opasitas setiap kali isVisible berubah. Ini adalah cara paling sederhana untuk menghubungkan animasi pegas dengan status komponen.
Parameter Fisika Pegas
Dalam konfigurasi react-spring, apa yang dikendalikan oleh tegangan dan gesekan?
Ringkasan Pelajaran: Dasar-Dasar useSpring
react-spring menganimasikan dengan fisika: tegangan (kekakuan), gesekan (redaman), dan massa menentukan gerakan. useSpring({ from, to }) mengembalikan objek SpringValue yang diterapkan pada komponen animated.*. Konfigurasi prasetel (lembut, bergoyang, kaku, lambat) mencakup kasus umum. API imperatif [springs, api] memungkinkan kendali terprogram melalui api.start(), api.stop(), dan api.set(). onRest dipanggil ketika animasi stabil.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Dasar React Spring: Hook useSpring” gratis?
Ya — teks lengkap “Dasar React Spring: Hook useSpring” 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 “Dasar React Spring: Hook useSpring”?
Animasikan nilai dengan useSpring—konfigurasikan ketegangan, gesekan, dan massa untuk gerakan yang terasa alami. 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 “Dasar React Spring: Hook useSpring” 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
- Dasar React Spring: Hook useSpring
- Komponen Animasi dan Interpolasi Gaya
- useTrail dan useChain untuk Urutan
- Animasi yang Digerakkan Gestur dengan use-gesture