Visi komponentai
MotionSwap
Turinys, kuris persilieja, kol dydis seka.
ŽiniatinklisReact NativeTurinys ir dydis
Išbandykite
Trumpiausias naudojimas
SaveButton.jsx<button onClick={save}>
<MotionSwap value={status} effect="up">
{status === 'saving' ? 'Saving…' : status === 'saved' ? 'Saved' : 'Save'}
</MotionSwap>
</button>;
Ką jis sutvarko už jus
- Elementas keičia dydį nuo dydžio ekrane iki natūralaus naujo turinio dydžio, todėl mygtukai niekada nepašoka.
- Senas turinys išblunka vietoje, kol naujas išryškėja; nė vienas keitimo metu neperdėliojamas.
- Grįžimas keitimo viduryje tęsiasi nuo to, kas yra ekrane, užuot kaupęs kopijas.
- Paprasto teksto vaikai patys yra savo
value; visam kitam perduokite value.
Naudokite jį
- Išsaugoti, tada Saugoma…, tada Išsaugota.
- Griaučiai, kurie tampa profilio kortele.
- Grojimo mygtukas, kuris tampa pauze.
Props
| Prop | Tipas | Numatytoji | Aprašymas |
|---|
value | unknown | | Turinio tapatybė; nauja reikšmė sukelia pakeitimą. Paprasto teksto vaikai patys yra savo tapatybė. |
|---|
children | ReactNode | | Turinys. |
|---|
as | element | 'span' | Atvaizduojamas elementas. |
|---|
inline | boolean | as === 'span' | true pritaiko dydį turiniui (etiketės, piktogramos); false užpildo tėvinio elemento plotį ir animuoja aukštį. |
|---|
align | 'start' | 'center' | 'end' | 'center' | Kur yra turinys, kol keičiasi dydis. |
|---|
effect | 'fade' | 'up' | 'down' | 'scale' | 'fade' | Kaip turinys įeina ir išeina: up kyla, down krenta, scale didėja. |
|---|
transition | Transition | spring | Timing kreivė { duration, easing } arba spyruoklė { tempo: 'spring', spring }. Pertrauktos spyruoklės išlaiko inerciją. |
|---|
onMotionComplete | (value) => void | | Vykdomas, kai judesys nusistovi. |
|---|
Kiti props perduodami atvaizduojamam elementui, todėl className, style ir įvykių apdorojimo funkcijos veikia kaip įprastai.
Naudojama šiuose pavyzdžiuose