Sve komponente
MotionSwap
Sadržaj koji se prelijeva dok ga veličina prati.
WebReact NativeSadržaj i veličina
Isprobajte
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
| Prop | Tip | Zadano | Opis |
|---|
value | unknown | | Identitet sadržaja; nova vrijednost uzrokuje zamjenu. Djeca koja su samo tekst sama su svoj identitet. |
|---|
children | ReactNode | | Sadržaj. |
|---|
as | element | 'span' | Element koji se renderira. |
|---|
inline | boolean | as === '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. |
|---|
transition | Transition | spring | Krivulja timinga { duration, easing } ili opruga { tempo: 'spring', spring }. Opruge pri prekidu zadržavaju zamah. |
|---|
onMotionComplete | (value) => void | | Izvodi se kad se pokret smiri. |
|---|
Ostali props idu renderiranom elementu, pa className, style i rukovatelji događaja rade kao i obično.
Korišteno u ovim primjerima