Toate componentele

MotionPresence

Păstrează conținutul montat în timp ce intră și iese animat.

WebReact NativeConținut și mărime

Încercați

Se pregătește exemplul…

Cea mai scurtă utilizare

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

Ce rezolvă în locul dumneavoastră

  • Schimbați present în loc să demontați; conținutul pleacă înainte de a fi eliminat.
  • Restaurarea în timpul unei ieșiri continuă de la valorile curente.
  • Conținutul care reapare intră din poza exit.
  • Prima randare îl arată în repaus, așa că un conținut deja prezent nu clipește.

Folosiți-o pentru

  • O notificare de ciornă salvată.
  • Un mesaj de cupon la finalizarea comenzii.
  • Un mesaj de eroare sub un câmp.

Props

PropTipImplicitDescriere
presentboolean—obligatoriuArată sau ascunde conținutul. Schimbați asta în loc să demontați.
enterPose{ opacity: 1, translateY: 0 }Poza în repaus.
exitPose{ opacity: 0, translateY: -12 }Poza cu care pleacă și din care intră conținutul.
aselement'div'Elementul de randat.
transitionTransitionspringO curbă timing { duration, easing } sau un arc { tempo: 'spring', spring }. Arcurile își păstrează impulsul când sunt întrerupte.
onExitComplete() => voidRulează după ce conținutul a plecat și a fost eliminat.

Celelalte props merg la elementul randat, așa că className, style și handlerele de evenimente funcționează ca de obicei.

Web și React Native

Pozele folosesc opacity, translateX, translateY, scale, scaleX, scaleY, rotate, width și height. onExitComplete rulează după ce conținutul a plecat.

Aceleași poze și props funcționează în React Native.

Folosită în aceste exemple

Căutare

Tastați pentru a căuta în documentație.