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
| Prop | Typ | Domyślnie | Opis |
|---|
open | boolean | true | false zwija do zerowej wysokości; treść pozostaje zamontowana, ale ukryta i nieaktywna. |
|---|
children | ReactNode | | Treść. |
|---|
as | element | 'div' | Element do wyrenderowania. |
|---|
transition | Transition | spring | Krzywa timing { duration, easing } lub sprężyna { tempo: 'spring', spring }. Sprężyny zachowują pęd po przerwaniu. |
|---|
onMotionComplete | (open) => void | | Uruchamia 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.