Todos los componentes
MotionHeight
Altura que sigue a su contenido: plegar, desplegar y cambios de contenido.
WebReact NativeContenido y tamaño
Pruébalo
Uso mínimo
Details.jsx<button onClick={() => setOpen(!open)}>Details</button>
<MotionHeight open={open}>
<Answer />
</MotionHeight>
Lo que resuelve por ti
- Anima hasta la altura real del contenido, medida por ti.
- Sigue al contenido cuando crece o se encoge mientras está abierto.
- Empieza desde la altura en pantalla, incluso a mitad de un cambio.
- Al redimensionar la página, se ajusta al instante en lugar de quedarse atrás del nuevo ancho.
- El contenido cerrado sigue montado pero oculto e inerte, así que conserva su estado.
Úsalo para
- Respuestas en unas preguntas frecuentes.
- Un grupo de ajustes que se despliega.
- Una lista cuya altura total debe animarse (envuelve
MotionList).
Props
| Prop | Tipo | Por defecto | Descripción |
|---|
open | boolean | true | false pliega hasta altura cero; el contenido sigue montado pero oculto e inerte. |
|---|
children | ReactNode | | El contenido. |
|---|
as | element | 'div' | El elemento que se renderiza. |
|---|
transition | Transition | spring | Una curva de tiempo { duration, easing } o un resorte { tempo: 'spring', spring }. Los resortes conservan su impulso cuando se interrumpen. |
|---|
onMotionComplete | (open) => void | | Se ejecuta con open cuando la altura se ha asentado. |
|---|
Las demás props van al elemento renderizado, así que className, style y los manejadores de eventos funcionan como siempre.