Semua komponen

MotionHeight

Tinggi yang mengikuti kontennya: menciut, meluas, dan perubahan konten.

WebReact NativeKonten dan ukuran

Coba

Menyiapkan contoh…

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

PropTipeBawaanDeskripsi
openbooleantruefalse menciut ke tinggi nol; konten tetap terpasang tetapi tersembunyi dan inert.
childrenReactNodeKontennya.
aselement'div'Elemen yang dirender.
transitionTransitionspringKurva timing { duration, easing } atau pegas { tempo: 'spring', spring }. Pegas mempertahankan momentumnya saat diinterupsi.
onMotionComplete(open) => voidBerjalan dengan open setelah tinggi berhenti.

Semua props lain diteruskan ke elemen yang dirender, jadi className, style, dan event handler bekerja seperti biasa.

Web dan React Native

Di web, tinggi diputar dengan Web Animations API dan konten mempertahankan tata letak normalnya.

Di React Native, view memotong kontennya dan menganimasikan tinggi dengan driver JS, karena tinggi adalah tata letak.

Dipakai di contoh-contoh ini

Cari

Ketik untuk mencari dokumentasi.