React Academy · Pelajaran

Teras React Spring: Hook useSpring

Animasikan nilai dengan useSpring — konfigurasikan ketegangan, geseran dan jisim untuk pergerakan yang terasa semula jadi.

Pelajaran 1 daripada 413 langkah

Teras React Spring: Hook useSpring 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.

Fizik Spring berbanding Animasi Berasaskan Tempoh

Animasi CSS tradisional menggunakan tempoh tetap: animasi dimainkan selama X milisaat dan berhenti. react-spring menganimasikan nilai menggunakan fizik pegas—animasi dipacu oleh ketegangan (kekakuan pegas) dan geseran (sejauh mana pegas menahan pergerakan). Ini menghasilkan pergerakan yang nyahpecut secara semula jadi dan terasa organik.

Penggunaan Asas useSpring

Cangkuk useSpring({ from, to }) mentakrifkan nilai beranimasi. Anda menentukan nilai permulaan dalam from dan nilai sasaran dalam to. useSpring mengembalikan objek pegas yang setiap kuncinya ialah SpringValue—versi beranimasi bagi nilai angka atau warna yang sepadan.

Konfigurasi Spring: Ketegangan dan Geseran

Pilihan config mengawal tingkah laku pegas. ketegangan (lalai 170) mengawal kekakuan—nilai yang lebih tinggi kembali dengan lebih pantas. geseran (lalai 26) mengawal redaman—nilai yang lebih rendah menghasilkan lebih banyak lantunan. jisim (lalai 1) menambahkan inersia. Ketiga-tiga nilai ini bersama-sama menentukan ciri animasi.

Konfigurasi Pratetap

react-spring menyediakan konfigurasi pratetap yang boleh anda gunakan tanpa pelarasan: config.default seimbang dan sesuai untuk kegunaan umum, config.gentle perlahan dan lancar, config.wobbly melantun dengan geseran rendah, config.stiff pantas dan cepat bertindak balas, manakala config.slow sangat beransur-ansur. Importkan konfigurasi ini daripada react-spring.

Objek SpringValue

Nilai yang dikembalikan oleh useSpring ialah objek SpringValue, bukannya nombor biasa. Anda tidak boleh memaparkannya secara terus dalam JSX atau menggunakannya dalam objek gaya biasa. Nilai ini mesti digunakan pada komponen animated.* yang tahu cara melanggan kemas kini spring dan menggunakannya pada DOM dengan cekap.

Segera: Langkau Animasi

Memberikan immediate: true kepada useSpring menyebabkan nilai melompat terus ke sasarannya, sekali gus memintas animasi spring. Ini berguna untuk paparan awal, apabila pengguna mendayakan ciri pengurangan gerakan dalam tetapan OS, atau apabila anda perlu menetapkan semula kedudukan secara programatik tanpa sebarang pergerakan visual.

Menterbalikkan Animasi Spring

Anda boleh menterbalikkan animasi spring dengan menukar nilai yang berada dalam from dan to. Satu corak lazim ialah menyimpan keadaan togol benar atau palsu dan mengira nilai mula serta nilai akhir berdasarkan keadaan itu: apabila togol adalah palsu, animasikan dari 0 ke 1; apabila benar, animasikan dari 1 ke 0. react-spring membuat peralihan antara keadaan ini dengan lancar.

API Imperatif: api.start()

useSpring boleh mengembalikan tatasusunan dua unsur: const [springs, api] = useSpring(() => ({ from: { x: 0 } })). Objek api memberikan anda kawalan secara programatik. Panggil api.start({ x: 100 }) untuk menganimasikan kepada nilai baharu, api.stop() untuk membekukan animasi, dan api.set({ x: 50 }) untuk melompat kepada nilai tersebut tanpa animasi.

Bila Menggunakan Bentuk Deklaratif berbanding Imperatif

Gunakan bentuk deklaratif useSpring({ from, to }) apabila animasi bergantung pada keadaan React yang berubah secara biasa. Gunakan bentuk imperatif dengan api.start() apabila anda perlu mencetuskan animasi daripada pengendali peristiwa, gerak isyarat atau operasi tak segerak tanpa menyebabkan React memaparkan semula komponen.

Panggilan Balik Peristiwa Spring

useSpring menerima panggilan balik kitar hayat dalam konfigurasinya. onStart dicetuskan apabila spring mula menganimasikan. onChange dicetuskan pada setiap bingkai dengan nilai semasa — berguna untuk kesan sampingan yang menjejaki kedudukan. onRest dicetuskan apabila spring stabil pada nilai akhirnya, menandakan bahawa animasi telah selesai.

Menjalankan Semula Spring Apabila Keadaan Berubah

Dalam bentuk deklaratif, useSpring menjalankan semula animasi secara automatik apabila nilai yang diberikan kepadanya berubah. Contohnya, useSpring({ opacity: isVisible ? 1 : 0 }) akan menganimasikan kelegapan setiap kali isVisible berubah. Ini ialah cara paling mudah untuk mengaitkan animasi spring dengan keadaan komponen.

Parameter Fizik Spring

Dalam konfigurasi react-spring, apakah yang dikawal oleh ketegangan dan geseran?

Ulang Kaji Pelajaran: Asas useSpring

react-spring menganimasikan berdasarkan fizik: ketegangan (kekakuan), geseran (redaman) dan jisim menentukan pergerakan. useSpring({ from, to }) mengembalikan objek SpringValue yang digunakan pada komponen animated.*. Konfigurasi pratetap (lembut, bergoyang, tegar, perlahan) merangkumi kes lazim. API imperatif [nilai spring, antara muka kawalan] membolehkan kawalan secara programatik melalui api.start(), api.stop() dan api.set(). onRest dicetuskan apabila animasi stabil.

Percuma untuk bermula

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 “Teras React Spring: Hook useSpring” percuma?

Ya — teks penuh “Teras React Spring: Hook useSpring” 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 “Teras React Spring: Hook useSpring”?

Animasikan nilai dengan useSpring — konfigurasikan ketegangan, geseran dan jisim untuk pergerakan yang terasa semula jadi. 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 “Teras React Spring: Hook useSpring” 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

  1. Teras React Spring: Hook useSpring
  2. Komponen Beranimasi dan Interpolasi Gaya
  3. useTrail dan useChain untuk Jujukan
  4. Animasi Didorong Gerak Isyarat dengan use-gesture
← Kembali ke React Academy