Sve komponente

MotionSwap

Sadržaj koji se prelijeva dok ga veličina prati.

WebReact NativeSadržaj i veličina

Isprobajte

Priprema primjera…

Najkraća upotreba

SaveButton.jsx
<button onClick={save}>
  <MotionSwap value={status} effect="up">
    {status === 'saving' ? 'Saving…' : status === 'saved' ? 'Saved' : 'Save'}
  </MotionSwap>
</button>;

Što obavlja umjesto vas

  • Element mijenja veličinu od veličine na zaslonu do prirodne veličine novog sadržaja, pa gumbi nikad ne skaču.
  • Stari sadržaj blijedi na svom mjestu dok se novi pojavljuje; nijedan se ne preraspoređuje tijekom zamjene.
  • Vraćanje usred zamjene nastavlja od onoga što je na zaslonu umjesto da gomila kopije.
  • Djeca koja su samo tekst sama su svoj value; za sve ostalo predajte value.

Koristite je za

  • Spremi, zatim Spremanje…, zatim Spremljeno.
  • Kostur koji postaje kartica profila.
  • Gumb za reprodukciju koji postaje pauza.

Props

PropTipZadanoOpis
valueunknownIdentitet sadržaja; nova vrijednost uzrokuje zamjenu. Djeca koja su samo tekst sama su svoj identitet.
childrenReactNodeSadržaj.
aselement'span'Element koji se renderira.
inlinebooleanas === 'span'true prilagođava veličinu sadržaju (oznake, ikone); false ispunjava širinu roditelja i animira visinu.
align'start' | 'center' | 'end''center'Gdje je sadržaj dok se veličina mijenja.
effect'fade' | 'up' | 'down' | 'scale''fade'Kako sadržaj ulazi i izlazi: up se diže, down se spušta, scale raste.
transitionTransitionspringKrivulja timinga { duration, easing } ili opruga { tempo: 'spring', spring }. Opruge pri prekidu zadržavaju zamah.
onMotionComplete(value) => voidIzvodi se kad se pokret smiri.

Ostali props idu renderiranom elementu, pa className, style i rukovatelji događaja rade kao i obično.

Web i React Native

inline (zadano pri renderiranju kao span) animira širinu i visinu; inline={false} ispunjava širinu roditelja i animira visinu.

U React Nativeu inline zamjene mjere novi sadržaj u jednom retku; za sadržaj koji se prelama koristite inline={false}.

Korišteno u ovim primjerima

Pretraži

Tipkajte za pretraživanje dokumentacije.