Toate componentele
MotionHeight
Înălțime care urmează conținutul: restrângere, extindere și schimbări de conținut.
WebReact NativeConținut și mărime
Încercați
Cea mai scurtă utilizare
Details.jsx<button onClick={() => setOpen(!open)}>Details</button>
<MotionHeight open={open}>
<Answer />
</MotionHeight>
Ce rezolvă în locul dumneavoastră
- Animă până la înălțimea reală a conținutului, măsurată în locul dumneavoastră.
- Urmează conținutul când crește sau scade cât e deschis.
- Pornește de la înălțimea de pe ecran, chiar și în mijlocul unei schimbări.
- Redimensionarea paginii se fixează imediat, în loc să rămână în urma noii lățimi.
- Conținutul închis rămâne montat, dar ascuns și inert, așa că starea lui se păstrează.
Folosiți-o pentru
- Răspunsuri dintr-un FAQ.
- Un grup de setări care se deschide.
- O listă a cărei înălțime totală ar trebui să se animeze (înfășurați
MotionList).
Props
| Prop | Tip | Implicit | Descriere |
|---|
open | boolean | true | false restrânge la înălțime zero; conținutul rămâne montat, dar ascuns și inert. |
|---|
children | ReactNode | | Conținutul. |
|---|
as | element | 'div' | Elementul de randat. |
|---|
transition | Transition | spring | O curbă timing { duration, easing } sau un arc { tempo: 'spring', spring }. Arcurile își păstrează impulsul când sunt întrerupte. |
|---|
onMotionComplete | (open) => void | | Rulează cu open după ce înălțimea s-a așezat. |
|---|
Celelalte props merg la elementul randat, așa că className, style și handlerele de evenimente funcționează ca de obicei.
Folosită în aceste exemple