Alle Komponenten

MotionHeight

Höhe, die ihrem Inhalt folgt: Ein- und Ausklappen sowie Inhaltsänderungen.

WebReact NativeInhalt und Größe

Ausprobieren

Beispiel wird vorbereitet…

Kürzeste Nutzung

Details.jsx
<button onClick={() => setOpen(!open)}>Details</button>
<MotionHeight open={open}>
  <Answer />
</MotionHeight>

Was sie dir abnimmt

  • Animiert auf die echte Höhe des Inhalts, für dich gemessen.
  • Folgt dem Inhalt, wenn er im geöffneten Zustand wächst oder schrumpft.
  • Startet bei der Höhe auf dem Bildschirm, auch mitten in einer Änderung.
  • Beim Ändern der Seitengröße passt es sich sofort an, statt der neuen Breite hinterherzulaufen.
  • Geschlossener Inhalt bleibt gemountet, aber versteckt und inaktiv, sodass sein State erhalten bleibt.

Gut für

  • Antworten in einer FAQ.
  • Eine Gruppe von Einstellungen, die sich öffnet.
  • Eine Liste, deren Gesamthöhe animiert werden soll (umschließe MotionList).

props

PropTypStandardBeschreibung
openbooleantruefalse klappt auf Höhe null ein; der Inhalt bleibt gemountet, aber versteckt und inaktiv.
childrenReactNodeDer Inhalt.
aselement'div'Das zu rendernde Element.
transitionTransitionspringEine Timing-Kurve { duration, easing } oder eine Feder { tempo: 'spring', spring }. Federn behalten bei Unterbrechung ihren Schwung.
onMotionComplete(open) => voidLäuft mit open, sobald die Höhe zur Ruhe gekommen ist.

Weitere props gehen an das gerenderte Element, also funktionieren className, style und Event-Handler wie gewohnt.

Web und React Native

Im Web spielt die Web Animations API die Höhe ab, und der Inhalt behält sein normales Layout.

Unter React Native beschneidet die View ihren Inhalt und animiert die Höhe mit dem JS-Treiber, weil Höhe Layout ist.

Verwendet in diesen Beispielen

Suchen

Tippe, um die Dokumentation zu durchsuchen.