React DOM-க்கான மோஷன் · React Native Animated API

மோஷனை ஒருமுறை எழுதுங்கள். அது சீராக இயங்கும், ஒருபோதும் உடையாது.

Animated, React Native-இன் Animated-ஐ வலைக்குக் கொண்டுவருகிறது. ஒரே மதிப்பு ஃப்ரேம்தோறும் React ரெண்டர் இல்லாமல் எத்தனை உறுப்புகளையும் இயக்குகிறது, ஆதரிக்கப்படும் மோஷன் உலாவியிலேயே இயங்குகிறது, ஒவ்வொரு இடையூறும் திரையில் தெரியும் நிலையிலிருந்து தொடர்கிறது.

நிறுவுதல்
npm install @kkwaenggwari/animated

ஒரே கடிகார மதிப்பு 64 வடிவங்களின் அலையையும் இயக்குகிறது. மேடையின் மேல் சுட்டியை நகர்த்துங்கள்.

இந்த வெளியீட்டில் அளக்கப்பட்டது

டெஸ்க்டாப் PC-இல் headless Chrome-இல் 1.0.0 build மூலம் அளக்கப்பட்டது. எண்கள் சாதனத்துக்குச் சாதனம் மாறுபடும். நாங்கள் எப்படி அளந்தோம்

  • 0.00ms400 உறுப்புகள் நகரும்போது ஃப்ரேம்தோறும் JavaScript

    Animated உறுப்புகளில் வரையறுக்கப்பட்ட transform, opacity மோஷன் உலாவியில் இயங்குகிறது. பக்கத்தின் சொந்த ஃப்ரேம் callback-கள் எந்த வேலையும் செய்வதில்லை.

  • 0.13msஒரே மதிப்பு 10,000 உறுப்புகளை இயக்கும்போது ஃப்ரேம்தோறும் JavaScript

    மதிப்பு ஒரே CSS மாறியை எழுதுகிறது; ஒவ்வொரு உறுப்பும் அதிலிருந்து CSS-இல் தன் style-ஐப் பெறுகிறது.

  • 0மோஷனின்போது React ரெண்டர்கள்

    மதிப்புகள் ஒருபோதும் React state வழியாகச் செல்வதில்லை. ஃப்ரேம் மாறும்போது அல்ல, உங்கள் props மாறும்போது கம்போனென்ட்கள் ரெண்டர் ஆகின்றன.

01 · எளிது

நீங்கள் ஏற்கெனவே அறிந்த API, சாதாரண React style-இல்

timing, spring, interpolate, loop, Animated.event ஆகியவை தங்கள் React Native பெயர்களையும் அமைப்புகளையும் வைத்திருக்கின்றன. மதிப்பு நேரடியாகச் சாதாரண style prop-க்குள் செல்கிறது; அதனால் முதல் மோஷனுக்கு முன் கற்க வேண்டிய சிறப்புக் கம்போனென்ட் இல்லை.

  • Animated.View-ஐ Animated.div என்று பெயர்மாற்றி React Native குறியீட்டைக் கொண்டுவாருங்கள்.
  • ஒரே மதிப்பு ஒரு பட்டை, ஒரு டயல், ஒரு வரிசை அட்டைகள் ஆகியவற்றை ஒரே நேரத்தில், ஒவ்வொன்றையும் அதன் சொந்த வரம்புடன் நகர்த்தலாம்.
  • useAnimated செய்முறையை வைத்திருக்கிறது: மவுன்ட்டில் தொடங்குகிறது, சார்பு மாறும்போது மீண்டும் தொடங்குகிறது, அன்மவுன்ட்டில் சுத்தம் செய்கிறது.

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

React Native-இல் உள்ள அதே அழைப்புகள்

Spinner.jsx
// React Native
<Animated.View style={{ transform: [{ rotate }] }} />

// React DOM with @kkwaenggwari/animated — the rest is identical
<Animated.div style={{ transform: [{ rotate }] }} />

const spin = useAnimatedValue(0);
const rotate = spin.interpolate({ inputRange: [0, 1], outputRange: ['0deg', '360deg'] });

Animated.loop(
  Animated.timing(spin, { toValue: 1, duration: 900, easing: Easing.linear, useNativeDriver: true }),
).start();

02 · வேகம்

ஃப்ரேம்தோறும் React ரெண்டர் இல்லை

ஹூக் மதிப்பு ஒரு CSS மாறி. நேர்கோட்டு interpolation-களும் கணிதச் செயல்களும் அந்த மாறியின் துல்லியமான calc() கோவைகளாகின்றன; அதனால் ஒவ்வொரு ஃப்ரேமும் ஒரே எழுதுதல், மீதியை உலாவி கணக்கிடுகிறது. Animated.<tag> உறுப்புகளில் வரையறுக்கப்பட்ட transform, opacity மோஷன் ஃப்ரேம் callback-கள் இல்லாமல் உலாவியில் இயங்குகிறது.

  • புள்ளிகளின் எண்ணிக்கையை மாற்றுங்கள்: React ஒவ்வொரு மாற்றத்துக்கும் ஒருமுறை ரெண்டர் ஆனதை எண்ணி காட்டுகிறது, ஃப்ரேம்தோறும் ஒருபோதும் இல்லை.
  • scope மதிப்பை ஒவ்வொரு உறுப்பிலும் அல்லாமல் ஒரு கொள்கலனில் ஒருமுறை எழுதுகிறது.
  • inspect(element) ஒவ்வொரு பண்பும் எந்தப் பாதையைப் பயன்படுத்துகிறது, ஏன் என்று சொல்கிறது.

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

03 · நிலைத்தன்மை

எங்கும் இடைமறியுங்கள். அது தொடர்கிறது.

புதிய இலக்கு, உறுப்பு திரையில் இருக்கும் இடத்திலிருந்து தொடங்குகிறது; spring அதன் வேகத்தையும் வைத்திருக்கிறது, அதனால் பாதியில் திசை மாற்றினால் முதலில் நிற்காமல் சீராகத் திரும்புகிறது. ஹூக்கில் அறிவிக்கப்பட்ட கட்டுப்படுத்திகள் மாற்றப்படும்போதும் அன்மவுன்ட்டின்போதும் நிறுத்தப்பட்டு விடுவிக்கப்படுகின்றன; சர்வரில் ரெண்டர் ஆன மார்க்அப் hydration-க்குப் பிறகும் அனிமேட் ஆகிறது.

  • இருமுறை வேகமாகக் கிளிக் செய்யுங்கள்: spring உடன் பாதை வளைகிறது, timing உடன் நிலையை வைத்துக்கொண்டு புதிய வளைவைத் தொடங்குகிறது.
  • நிறுத்தினால் மதிப்பு இருக்கும் இடத்திலேயே இருக்கும்; எதுவும் இறுதி நிலைக்குத் தாவுவதில்லை.
  • அன்மவுன்ட், route மாற்றம், மறைந்த தாவல்களுக்குப் பிறகு அலையும் ஃப்ரேம் சுழற்சிகள் இல்லை.

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

Animated மீது கட்டப்பட்டது

முடிக்கப்பட்ட கம்போனென்ட் வேண்டுமா? Animated Chorus.

உருளும் எண்கள், நகரும் தாவல் சிறப்பம்சங்கள், முன்னேற்றம், sheet-கள், அனிமேட் ஆகும் பட்டியல்கள் — React, React Native-இல் நேரடியாகப் பொருந்துகின்றன. இவற்றில் மூன்று இப்போது இந்தப் பக்கத்தில் இயங்குகின்றன.

Animated Chorus-ஐப் பாருங்கள்

மூன்று நிமிடங்களில் தொடங்குங்கள்

தொகுப்பை நிறுவி, முதல் மதிப்பை நகர்த்தி, உங்கள் முன் உள்ள பணிக்கான வழிகாட்டியைத் தேர்ந்தெடுங்கள்.

npm install @kkwaenggwari/animated

தேடு

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