Semua komponen
MotionHeight
Tinggi yang mengikuti kontennya: menciut, meluas, dan perubahan konten.
WebReact NativeKonten dan ukuran
Coba
Penggunaan terpendek
Details.jsx<button onClick={() => setOpen(!open)}>Details</button>
<MotionHeight open={open}>
<Answer />
</MotionHeight>
Yang ditanganinya untuk Anda
- Beranimasi ke tinggi konten yang sebenarnya, yang diukur untuk Anda.
- Mengikuti konten saat ia bertambah atau berkurang selama terbuka.
- Dimulai dari tinggi di layar, bahkan di tengah perubahan.
- Mengubah ukuran halaman langsung menyesuaikan, bukan tertinggal di belakang lebar baru.
- Konten yang tertutup tetap terpasang tetapi tersembunyi dan inert, jadi state-nya terjaga.
Gunakan untuk
- Jawaban di FAQ.
- Kelompok pengaturan yang terbuka.
- Daftar yang tinggi totalnya perlu beranimasi (bungkus
MotionList).
Props
| Prop | Tipe | Bawaan | Deskripsi |
|---|
open | boolean | true | false menciut ke tinggi nol; konten tetap terpasang tetapi tersembunyi dan inert. |
|---|
children | ReactNode | | Kontennya. |
|---|
as | element | 'div' | Elemen yang dirender. |
|---|
transition | Transition | spring | Kurva timing { duration, easing } atau pegas { tempo: 'spring', spring }. Pegas mempertahankan momentumnya saat diinterupsi. |
|---|
onMotionComplete | (open) => void | | Berjalan dengan open setelah tinggi berhenti. |
|---|
Semua props lain diteruskan ke elemen yang dirender, jadi className, style, dan event handler bekerja seperti biasa.
Dipakai di contoh-contoh ini