Todos los componentes

MotionPresence

Mantiene el contenido montado mientras entra y sale animado.

WebReact NativeContenido y tamaño

Pruébalo

Preparando el ejemplo…

Uso mínimo

Notice.jsx
<MotionPresence present={visible} exit={{ opacity: 0, translateY: -12 }}>
  Draft saved
</MotionPresence>;

Lo que resuelve por ti

  • Cambia present en lugar de desmontar; el contenido sale antes de eliminarse.
  • Restaurarlo durante una salida continúa desde los valores actuales.
  • El contenido que vuelve a aparecer entra desde la pose exit.
  • El primer render lo muestra en reposo, así que el contenido que ya estaba no parpadea.

Úsalo para

  • Un aviso de borrador guardado.
  • Un mensaje de cupón en un pago.
  • Un mensaje de error bajo un campo.

Props

PropTipoPor defectoDescripción
presentboolean—obligatoriaMuestra u oculta el contenido. Cambia esto en lugar de desmontar.
enterPose{ opacity: 1, translateY: 0 }La pose en reposo.
exitPose{ opacity: 0, translateY: -12 }La pose con la que el contenido sale y desde la que entra.
aselement'div'El elemento que se renderiza.
transitionTransitionspringUna curva de tiempo { duration, easing } o un resorte { tempo: 'spring', spring }. Los resortes conservan su impulso cuando se interrumpen.
onExitComplete() => voidSe ejecuta después de que el contenido haya salido y se haya eliminado.

Las demás props van al elemento renderizado, así que className, style y los manejadores de eventos funcionan como siempre.

Web y React Native

Las poses usan opacity, translateX, translateY, scale, scaleX, scaleY, rotate, width y height. onExitComplete se ejecuta después de que el contenido haya salido.

Las mismas poses y props funcionan en React Native.

Se usa en estos ejemplos

Buscar

Escribe para buscar en la documentación.