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.

transitions.js
// 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.

tokens.js
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; // 140

Easing-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].

Søk

Skriv for å søke i dokumentasjonen.