Vadovai · 01

Perėjimai

Kiekvienas komponentas priima vieną transition: timing kreivę arba spyruoklę. Kaip pasirinkti ir kas nutinka, kai judesys pertraukiamas.

Dvi perėjimų rūšys

Perėjimas yra arba { duration, easing }, arba { tempo: 'spring', spring }. Perduokite jį bet kurio komponento transition prop. Kelis dalykus vienu metu judinantys komponentai priima antrą prop, pavyzdžiui, layoutTransition ant MotionList elementams, slystantiems į naujas vietas.

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 }

Spyruoklės su trukme

Spyruoklė paprastai veikia tiek, kiek reikia jos fizikai. Pridėkite duration, ir spyruoklė bus sukalibruota nusistovėti tiksliai tada, išlaikant charakterį (kiek ji atšoka) ir derant prie jūsų timing. Palyginkite timing kreives ir spyruokles tuose pačiuose trijuose komponentuose žemiau.

Ruošiamas pavyzdys…

Pertraukimai

Kiekvienas komponentas naują judesį pradeda nuo to, kas yra ekrane. Spyruoklė išlaiko ir dabartinį greitį, todėl antras spustelėjimas sklandžiai apsuka judesį. Timing kreivė vėl prasideda nuo dabartinės padėties su nauja kreive.

  • Skaičiai: nauja reikšmė tęsiasi nuo glifų ekrane.
  • Aukštis ir keitimai: dydis tęsiasi nuo dydžio ekrane.
  • Sąrašai: į naują vietą judantys elementai išlaiko greitį.

Paruošti perėjimai

motionTokens surenka kelis nuoseklius pojūčius: keturias spyruokles, keturias timing kreives ir keturias trukmes. Tai paprasti objektai, todėl išskleiskite vieną, kad pakeistumėte vieną lauką.

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 pavadinimai

easing priima linear, in, out, inOut, ease, easeIn, easeOut, easeInOut, expoOut, backOut arba kubinės Bézier kreivės masyvą, pavyzdžiui, [0.22, 1, 0.36, 1].

Paieška

Rašykite, kad ieškotumėte dokumentacijoje.