வழிகாட்டிகள் · 01

Transition-கள்

ஒவ்வொரு கம்போனென்டும் ஒரு transition-ஐ எடுக்கிறது: நேர வளைவு அல்லது spring. எப்படித் தேர்ந்தெடுப்பது, மோஷன் இடைமறிக்கப்படும்போது என்ன நடக்கிறது.

இரண்டு வகை transition-கள்

Transition என்பது { duration, easing } அல்லது { tempo: 'spring', spring }. எந்தக் கம்போனென்டின் transition-க்கும் அதைக் கொடுங்கள். பலவற்றை ஒரே நேரத்தில் நகர்த்தும் கம்போனென்ட்கள் இரண்டாவது ஒன்றை எடுக்கின்றன, உதாரணமாகப் புதிய நிலைகளுக்கு வழுக்கும் உருப்படிகளுக்காக MotionList-இல் layoutTransition.

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 }

கால அளவு கொண்ட spring-கள்

spring வழக்கமாக அதன் இயற்பியலுக்குத் தேவையான நேரம் இயங்குகிறது. duration சேர்த்தால், spring சரியாக அந்த நேரத்தில் அமையும்படி அளவீடு செய்யப்படுகிறது; உங்கள் நேரத்துக்குப் பொருந்தும்போதே அதன் தன்மையை (எவ்வளவு துள்ளுகிறது) வைத்திருக்கிறது. கீழே அதே மூன்று கம்போனென்ட்களில் நேர வளைவுகளையும் spring-களையும் ஒப்பிடுங்கள்.

எடுத்துக்காட்டு தயாராகிறது…

இடையூறுகள்

ஒவ்வொரு கம்போனென்டும் திரையில் தெரிவதிலிருந்து புதிய மோஷனைத் தொடங்குகிறது. spring தன் தற்போதைய வேகத்தையும் வைத்திருக்கிறது; அதனால் இரண்டாவது கிளிக் மோஷனைச் சீராகத் திருப்புகிறது. நேர வளைவு தற்போதைய நிலையிலிருந்து புதிய வளைவுடன் மீண்டும் தொடங்குகிறது.

  • எண்கள்: புதிய மதிப்பு திரையில் உள்ள glyph-களிலிருந்து தொடர்கிறது.
  • உயரமும் மாற்றீடுகளும்: அளவு திரையில் உள்ள அளவிலிருந்து தொடர்கிறது.
  • பட்டியல்கள்: புதிய நிலைக்கு நகரும் உருப்படிகள் தங்கள் வேகத்தை வைத்திருக்கின்றன.

தயார் transition-கள்

motionTokens சில சீரான உணர்வுகளைச் சேகரிக்கிறது: நான்கு spring-கள், நான்கு நேர வளைவுகள், நான்கு கால அளவுகள். அவை சாதாரண ஆப்ஜெக்ட்கள்; அதனால் ஒரு புலத்தை மாற்ற ஒன்றை spread செய்யுங்கள்.

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, அல்லது [0.22, 1, 0.36, 1] போன்ற cubic Bézier அரேயை ஏற்கிறது.

தேடு

ஆவணங்களில் தேடத் தட்டச்சு செய்யுங்கள்.