React · React Native · 16 கம்போனென்ட்கள்

கடினமான ஊடாடல்கள், முடிக்கப்பட்டவை.

Animated Chorus என்பது கையால் சரியாக அமைக்கக் கடினமான ஊடாடல்களுக்கான மோஷன் கம்போனென்ட்களின் தொகுப்பு: உருளும் எண்கள், ஸ்ட்ரீம் செய்யப்படும் உரை, அளவு மாறும் மாற்றீடுகள், sheet-கள், pager-கள், ஸ்வைப் செயல்கள், மாறியதை மட்டும் அனிமேட் செய்யும் பட்டியல்கள். ஒரே tag-உம் உங்கள் தரவும். Provider இல்லை, அமைப்பு இல்லை.

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

இந்த build-இல் அளக்கப்பட்டது

Chrome, 2026-09-28. ஒவ்வொரு நிபந்தனையும் மாதிரியும் செயல்திறன் வழிகாட்டியில் உள்ளன. இது எப்படி அளக்கப்பட்டது

  • 28.0KB16 export-களுக்கும் KB gzip

    முழு வலை நுழைவு, minify செய்யப்பட்டது. React மட்டுமே peer.

  • 0அனிமேட் ஆகும்போது JS frame callback-கள்

    ஒரு எண், ஒரு உயரம், ஒரு சிறப்பம்சம் சேர்ந்து மாறுகின்றன: 12 அனிமேஷன்களையும் உலாவி இயக்குகிறது.

  • 1மதிப்பு மாற்றத்துக்கு ஒரு React commit

    MotionNumber மதிப்பு மாறும்போது ரெண்டர் ஆகிறது, உருளும்போது ஒருபோதும் இல்லை.

  • 11ஸ்ட்ரீம் செய்யப்பட்ட 3000 எழுத்துகளுக்கு React commit-கள்

    MotionStream எழுத்துகளை நேரடியாகச் சேர்த்து, வினாடிக்குச் சில முறை React-க்குள் இணைக்கிறது.

01மிக எளிது

ஒரே tag-உம் உங்கள் தரவும்

ஒவ்வொரு கம்போனென்டும் தனியாக இயங்குகிறது: Provider, wrapper கம்போனென்ட், அமைப்பு அழைப்பு இல்லை. தொகுப்புகள் items, renderItem-ஐ எடுக்கின்றன; உங்கள் லேஅவுட், உரை, style-கள் உங்களுடையவையாகவே இருக்கின்றன.

  • ஒரு கம்போனென்டை import செய்து மதிப்பைக் கொடுங்கள். அதுவே முழு ஒருங்கிணைப்பு.
  • பட்டியல்கள், தாவல்கள், pager-கள் உங்கள் அரேயைப் படிக்கின்றன; key இயல்பாக item.id.
  • உரை உண்மையான உரையாகவே இருக்கிறது: மடிகிறது, எழுத்துருவுடன் அளவு மாறுகிறது, தேர்ந்தெடுக்கலாம்.
  • <MotionNumber value={total} />;
  • <MotionSwap value={status}>{label}</MotionSwap>;
  • <MotionHeight open={open}>{details}</MotionHeight>;
  • <MotionHighlight items={tabs} value={tab} onValueChange={setTab} />;
  • <MotionList items={tasks} renderItem={(task) => task.title} />;
  • <ProgressRing value={progress} />;

ஆறு நேரடிக் கம்போனென்ட்கள், ஒவ்வொன்றின் பின்னும் உள்ள ஒரு வரிக் குறியீடு.

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

02மிக வேகம்

உலாவி இயக்குகிறது. React அசையாமல் இருக்கிறது.

வலையில் ஏற்ற வேண்டிய அனிமேஷன் லைப்ரரி இல்லை: கம்போனென்ட்கள் தங்கள் மோஷனை Web Animations API-இடம் ஒப்படைக்கின்றன; அதனால் உருளும் எண்ணோ அளவு மாறும் பலகையோ நகரும்போது ஃப்ரேம்தோறும் JavaScript-உம் React ரெண்டரும் செலவாவதில்லை.

  • 12 அனிமேஷன்கள் சேர்ந்து இயங்கும்போது 0 JS frame callback-கள்.
  • மதிப்பு மாற்றத்துக்கு ஒரு React commit, ஃப்ரேமுக்கு ஒன்று அல்ல.
  • ஸ்ட்ரீம் செய்யப்பட்ட உரை: 3000 எழுத்துகளுக்கு 11 React commit-கள். கீழே உள்ள எடுத்துக்காட்டு தன் ரெண்டர்களைத் தானே எண்ணுகிறது.

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

03மிக நிலையானது

எதையும் இடைமறியுங்கள். அது ஒருபோதும் தாவாது.

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

  • எண்கள் ஒருபோதும் பிளவுபடுவதில்லை: மீதமுள்ள இலக்கங்கள் உருளும்போதே நகர்கின்றன.
  • 5 ms இடைவெளியில் 200 புதிய மதிப்புகள்: பிறகு மீதமுள்ள அனிமேஷன்கள் 0, இறுதி உரை துல்லியம்.
  • React StrictMode-இல் பாதுகாப்பானது. பின்னணியில் உள்ள React Native ஆப்பில் மோஷன் தன் இறுதி நிலைக்கு அமைகிறது.

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

16 கம்போனென்ட்கள், அவை செய்யும் பணியின்படி தொகுக்கப்பட்டவை

எண்களும் உரையும், அளவு மாறும் உள்ளடக்கம், தேர்வு, பட்டியல்கள், சைகைகள், overlay-கள், முன்னேற்றம். ஒவ்வொன்றுக்கும் பக்கத்தில் props கொண்ட நேரடிப் பணிமேசை உண்டு.

எல்லாக் கம்போனென்ட்களும்

ஒன்றாகச் சேர்த்து

பல கம்போனென்ட்களை இணைக்கும் முழுமையான திரைகள், ஒவ்வொன்றின் அமைப்புகளும் எடுத்துக்காட்டுக்கு வெளியே.

எல்லா எடுத்துக்காட்டுகளும்

வலையிலும் React Native-இலும் அதே import

Metro நேட்டிவ் செயலாக்கத்தையும் வலை bundler-கள் DOM செயலாக்கத்தையும் தேர்ந்தெடுக்கின்றன. ஒவ்வொரு தளமும் தனக்குச் சிறப்பாக வரும் வழியில் மோஷனை இயக்குகிறது.

App.jsx
// Web and React Native: the same import.
import { MotionNumber, MotionList } from '@kkwaenggwari/animated-chorus';

export function Score({ points, players }) {
  return (
    <>
      <MotionNumber value={points} />
      <MotionList items={players} renderItem={(player) => player.name} />
    </>
  );
}
பகுதிவலைReact Native
Transform-களும் opacity-உம்Web Animations API, spring-கள் பகுப்பாய்வு முறையில் மாதிரியெடுக்கப்படுகின்றனநேட்டிவ் driver உடன் Animated
அகலமும் உயரமும்Web Animations APIJS driver உடன் Animated, ஏனெனில் இது லேஅவுட்
ஸ்ட்ரீம் செய்யப்படும் உரைஎழுத்துகள் சேர்க்கப்பட்டு மங்கித் தோன்றுகின்றன; வினாடிக்குச் சில React ரெண்டர்கள்உண்மையான Text, மங்கல் இல்லாமல் வெளிப்படுகிறது
Sheet-களும் zoom-உம்மேல் அடுக்கில் நேட்டிவ் dialogஒளிபுகும் Modal; பின் பொத்தான் அதை மூடுகிறது

இரண்டு நிமிடங்களில் தொடங்குங்கள்

நிறுவுங்கள், ஒரு கம்போனென்டை import செய்யுங்கள், மதிப்பைக் கொடுங்கள்.

npm install @kkwaenggwari/animated-chorus

தேடு

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