מדריכים · 01

מעברים

כל רכיב מקבל transition אחד: עקומת timing או קפיץ. איך לבחור, ומה קורה כשתנועה מופרעת.

שני סוגי מעברים

מעבר הוא { duration, easing } או { tempo: 'spring', spring }. העבירו אותו ל־prop transition של כל רכיב. רכיבים שמזיזים כמה דברים בבת אחת מקבלים prop שני, כמו layoutTransition ב־MotionList לפריטים שגולשים למיקומים חדשים.

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 }

קפיצים עם משך

קפיץ בדרך כלל רץ כמה שהפיזיקה שלו צריכה. הוסיפו duration והקפיץ מכויל להתייצב בדיוק אז, תוך שמירה על האופי שלו (כמה הוא קופץ) והתאמה לתזמון שלכם. השוו עקומות timing וקפיצים על אותם שלושה רכיבים שלמטה.

מכין את הדוגמה…

הפרעות

כל רכיב מתחיל תנועה חדשה ממה שעל המסך. קפיץ גם שומר על המהירות הנוכחית שלו, כך שלחיצה שנייה הופכת את התנועה בחלקות. עקומת timing מתחילה שוב מהמיקום הנוכחי עם עקומה חדשה.

  • מספרים: ערך חדש ממשיך מהגליפים שעל המסך.
  • גובה והחלפות: הגודל ממשיך מהגודל שעל המסך.
  • רשימות: פריטים שעוברים למיקום חדש שומרים על המהירות שלהם.

מעברים מוכנים

motionTokens אוסף כמה תחושות עקביות: ארבעה קפיצים, ארבע עקומות timing וארבעה משכים. אלה אובייקטים רגילים, אז פרשו אחד כדי לשנות שדה אחד.

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

easing מקבל linear, in, out, inOut, ease, easeIn, easeOut, easeInOut, expoOut, backOut, או מערך Bézier קובי כמו [0.22, 1, 0.36, 1].

חיפוש

הקלידו כדי לחפש בתיעוד.