Guider · 01
Overganger
Hver komponent tar én transition: en timingkurve eller en fjær. Hvordan du velger, og hva som skjer når en bevegelse avbrytes.
To typer overganger
En overgang er enten { duration, easing } eller { tempo: 'spring', spring }. Send den til transition-propen på en hvilken som helst komponent. Komponenter som flytter flere ting samtidig, tar en andre prop, som layoutTransition på MotionList for elementer som glir til nye posisjoner.
// Timing: a duration and a curve.
{ duration: 300, easing: 'easeOut' }
{ duration: 600, easing: [0.22, 1, 0.36, 1] }
// Spring: physics that keeps its speed when interrupted.
{ tempo: 'spring', spring: { stiffness: 260, damping: 12 } }
// Spring with duration: calibrated to settle exactly then.
{ tempo: 'spring', spring: { stiffness: 260, damping: 12 }, duration: 500 }Fjærer med varighet
En fjær varer vanligvis så lenge fysikken krever. Legg til duration, så kalibreres fjæren til å lande nøyaktig da, med beholdt karakter (hvor mye den spretter) og tilpasset timingen din. Sammenlign timingkurver og fjærer på de samme tre komponentene nedenfor.
Forbereder eksempelet …
Avbrudd
Hver komponent starter en ny bevegelse fra det som er på skjermen. En fjær beholder også gjeldende hastighet, så et nytt klikk snur bevegelsen mykt. En timingkurve starter på nytt fra gjeldende posisjon med en ny kurve.
- Tall: en ny verdi fortsetter fra glyfene på skjermen.
- Høyde og bytter: størrelsen fortsetter fra størrelsen på skjermen.
- Lister: elementer som flytter til en ny posisjon, beholder hastigheten.
Ferdige overganger
motionTokens samler noen få enhetlige følelser: fire fjærer, fire timingkurver og fire varigheter. Det er vanlige objekter, så spre ett for å endre ett felt.
import { motionTokens } from '@kkwaenggwari/animated-chorus';
motionTokens.spring.quick; // snappy UI feedback
motionTokens.spring.basic; // the default feel
motionTokens.spring.gentle; // panels and height
motionTokens.spring.bouncy; // playful numbers
motionTokens.easing.expoOut; // { duration: 420, easing: 'expoOut' }
motionTokens.duration.fast; // 140Easing-navn
easing tar linear, in, out, inOut, ease, easeIn, easeOut, easeInOut, expoOut, backOut eller en kubisk Bézier-array som [0.22, 1, 0.36, 1].