Tutti i componenti
MotionHeight
Un’altezza che segue il contenuto: chiusura, apertura e cambi di contenuto.
WebReact NativeContenuto e dimensione
Provalo
Preparazione dell’esempio…
L’uso più breve
Details.jsx<button onClick={() => setOpen(!open)}>Details</button>
<MotionHeight open={open}>
<Answer />
</MotionHeight>
Di che cosa si occupa al posto tuo
- Anima fino all’altezza reale del contenuto, misurata al posto tuo.
- Segue il contenuto quando cresce o si riduce mentre è aperto.
- Parte dall’altezza sullo schermo, anche nel mezzo di una modifica.
- Ridimensionare la pagina si adegua subito invece di restare indietro rispetto alla nuova larghezza.
- Il contenuto chiuso resta montato ma nascosto e inerte, quindi il suo stato si conserva.
Usalo per
- Risposte in una FAQ.
- Un gruppo di impostazioni che si apre.
- Una lista la cui altezza totale deve animarsi (avvolgi
MotionList).
Props
| Prop | Tipo | Predefinito | Descrizione |
|---|
open | boolean | true | false riduce l’altezza a zero; il contenuto resta montato ma nascosto e inerte. |
|---|
children | ReactNode | | Il contenuto. |
|---|
as | element | 'div' | L’elemento da renderizzare. |
|---|
transition | Transition | spring | Una curva di timing { duration, easing } o una molla { tempo: 'spring', spring }. Le molle conservano lo slancio quando vengono interrotte. |
|---|
onMotionComplete | (open) => void | | Viene eseguito con open quando l’altezza si è assestata. |
|---|
Le altre props vanno all’elemento renderizzato, quindi className, style e gli event handler funzionano come sempre.