Vodniki · 01

Prehodi

Vsaka komponenta sprejme en transition: krivuljo timinga ali vzmet. Kako izbrati in kaj se zgodi, ko se gibanje prekine.

Dve vrsti prehoda

Prehod je bodisi { duration, easing } bodisi { tempo: 'spring', spring }. Podajte ga propu transition katere koli komponente. Komponente, ki hkrati premikajo več stvari, sprejmejo še drug prop, na primer layoutTransition pri MotionList za elemente, ki drsijo na nove položaje.

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 }

Vzmeti s trajanjem

Vzmet običajno teče toliko časa, kolikor potrebuje njena fizika. Dodajte duration in vzmet je umerjena tako, da se umiri natanko takrat, pri čemer ohrani svoj značaj (koliko odskakuje) in se prilagodi vašemu timingu. Primerjajte krivulje timinga in vzmeti na istih treh komponentah spodaj.

Pripravljanje primera …

Prekinitve

Vsaka komponenta začne novo gibanje od tistega, kar je na zaslonu. Vzmet ohrani tudi trenutno hitrost, zato drugi klik gibanje gladko obrne. Krivulja timinga se začne znova od trenutnega položaja s svežo krivuljo.

  • Števila: nova vrednost nadaljuje od znakov na zaslonu.
  • Višina in zamenjave: velikost nadaljuje od velikosti na zaslonu.
  • Seznami: elementi, ki se premikajo na nov položaj, ohranijo hitrost.

Pripravljeni prehodi

motionTokens zbira nekaj usklajenih občutkov: štiri vzmeti, štiri krivulje timinga in štiri trajanja. To so navadni objekti, zato enega razširite, da spremenite eno samo polje.

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

Imena easinga

easing sprejme linear, in, out, inOut, ease, easeIn, easeOut, easeInOut, expoOut, backOut ali polje kubične Bézierjeve krivulje, kot je [0.22, 1, 0.36, 1].

Iskanje

Tipkajte za iskanje po dokumentaciji.