Wszystkie komponenty

MotionHeight

Wysokość podążająca za treścią: zwijanie, rozwijanie i zmiany treści.

SiećReact NativeTreść i rozmiar

Wypróbuj

Przygotowywanie przykładu…

Najkrótsze użycie

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

Co robi za ciebie

  • Animuje do rzeczywistej wysokości treści, zmierzonej za ciebie.
  • Podąża za treścią, gdy rośnie lub maleje przy otwarciu.
  • Zaczyna od wysokości na ekranie, nawet w środku zmiany.
  • Zmiana rozmiaru strony dopasowuje się od razu zamiast nie nadążać za nową szerokością.
  • Zamknięta treść pozostaje zamontowana, ale ukryta i nieaktywna, więc jej stan się zachowuje.

Do czego służy

  • Odpowiedzi w FAQ.
  • Grupa ustawień, która się otwiera.
  • Lista, której całkowita wysokość ma się animować (owiń MotionList).

Props

PropTypDomyślnieOpis
openbooleantruefalse zwija do zerowej wysokości; treść pozostaje zamontowana, ale ukryta i nieaktywna.
childrenReactNodeTreść.
aselement'div'Element do wyrenderowania.
transitionTransitionspringKrzywa timing { duration, easing } lub sprężyna { tempo: 'spring', spring }. Sprężyny zachowują pęd po przerwaniu.
onMotionComplete(open) => voidUruchamia się z open, gdy wysokość się ułoży.

Pozostałe props trafiają do renderowanego elementu, więc className, style i obsługa zdarzeń działają jak zwykle.

Sieć i React Native

W sieci wysokość odtwarza Web Animations API, a treść zachowuje zwykły układ.

W React Native widok przycina treść i animuje wysokość na sterowniku JS, bo wysokość to układ.

Użyty w tych przykładach

Szukaj

Zacznij pisać, aby przeszukać dokumentację.