Tous les composants
MotionHeight
Une hauteur qui suit son contenu : repli, dépli et changements de contenu.
WebReact NativeContenu et taille
Essayer
Préparation de l’exemple…
Usage minimal
Details.jsx<button onClick={() => setOpen(!open)}>Details</button>
<MotionHeight open={open}>
<Answer />
</MotionHeight>
Ce qu’il gère pour vous
- Anime jusqu’à la hauteur réelle du contenu, mesurée pour vous.
- Suit le contenu quand il grandit ou rétrécit alors qu’il est ouvert.
- Part de la hauteur à l’écran, même en plein changement.
- Redimensionner la page ajuste immédiatement au lieu de traîner derrière la nouvelle largeur.
- Le contenu fermé reste monté mais masqué et inerte : son état est conservé.
À utiliser pour
- Les réponses d’une FAQ.
- Un groupe de réglages qui se déploie.
- Une liste dont la hauteur totale doit s’animer (enveloppez
MotionList).
Props
| Prop | Type | Défaut | Description |
|---|
open | boolean | true | false replie à une hauteur nulle ; le contenu reste monté mais masqué et inerte. |
|---|
children | ReactNode | | Le contenu. |
|---|
as | element | 'div' | L’élément à rendre. |
|---|
transition | Transition | spring | Une courbe de temps { duration, easing } ou un ressort { tempo: 'spring', spring }. Les ressorts gardent leur élan quand ils sont interrompus. |
|---|
onMotionComplete | (open) => void | | S’exécute avec open une fois la hauteur posée. |
|---|
Les autres props vont à l’élément rendu : className, style et les gestionnaires d’événements fonctionnent comme d’habitude.
Utilisé dans ces exemples