Vse komponente
MotionSwap
Vsebina, ki se prelije, medtem ko ji velikost sledi.
SpletReact NativeVsebina in velikost
Preizkusite
Najkrajša uporaba
SaveButton.jsx<button onClick={save}>
<MotionSwap value={status} effect="up">
{status === 'saving' ? 'Saving…' : status === 'saved' ? 'Saved' : 'Save'}
</MotionSwap>
</button>;
Kaj uredi namesto vas
- Element spremeni velikost od tiste na zaslonu do naravne velikosti nove vsebine, zato gumbi nikoli ne poskočijo.
- Stara vsebina zbledi tam, kjer je bila, nova pa se prikaže; nobena se med zamenjavo ne prerazporedi.
- Vrnitev sredi zamenjave nadaljuje od tistega, kar je na zaslonu, namesto da bi kopičila kopije.
- Otroci z navadnim besedilom so sami svoj
value; za vse drugo podajte value.
Uporabite jo za
- Shrani, nato Shranjevanje …, nato Shranjeno.
- Okostje, ki postane kartica profila.
- Gumb za predvajanje, ki postane premor.
Props
| Prop | Tip | Privzeto | Opis |
|---|
value | unknown | | Identiteta vsebine; nova vrednost sproži zamenjavo. Otroci z navadnim besedilom so sami svoja identiteta. |
|---|
children | ReactNode | | Vsebina. |
|---|
as | element | 'span' | Element za upodobitev. |
|---|
inline | boolean | as === 'span' | true prilagodi velikost vsebini (oznake, ikone); false zapolni širino starša in animira višino. |
|---|
align | 'start' | 'center' | 'end' | 'center' | Kje je vsebina med spreminjanjem velikosti. |
|---|
effect | 'fade' | 'up' | 'down' | 'scale' | 'fade' | Kako vsebina vstopi in odide: up se dvigne, down pade, scale zraste. |
|---|
transition | Transition | spring | Krivulja timinga { duration, easing } ali vzmet { tempo: 'spring', spring }. Vzmeti ob prekinitvi ohranijo zagon. |
|---|
onMotionComplete | (value) => void | | Se izvede, ko se gibanje umiri. |
|---|
Druge props gredo upodobljenemu elementu, zato className, style in obravnave dogodkov delujejo kot običajno.
Uporabljeno v teh primerih