React · React Native · 16 komponent
Zahtevne interakcije, dokončane.
Animated Chorus je nabor komponent gibanja za interakcije, ki jih je ročno težko narediti prav: vrteča se števila, pretočno besedilo, zamenjave, ki spremenijo velikost, sheeti, listanje strani, dejanja s potegom in seznami, ki animirajo le spremenjeno. Ena oznaka in vaši podatki. Brez providerja, brez nastavitve.
npm install @kkwaenggwari/animated-chorusIzmerjeno na tej izdaji
Chrome, 2026-09-28. Vsi pogoji in vzorci so v vodniku o zmogljivosti. Kako je bilo izmerjeno
- 28.0KBKB gzip za vseh 16 izvozov
Celotna spletna vstopna točka, pomanjšana. React je edina peer odvisnost.
- 0Callbacki sličic JS med animiranjem
Število, višina in poudarek se spreminjajo skupaj: brskalnik predvaja vseh 12 animacij.
- 1Commit Reacta na spremembo vrednosti
MotionNumberse upodobi, ko se vrednost spremeni, nikoli med vrtenjem. - 11Commiti Reacta za 3000 pretočnih znakov
MotionStreamznake dodaja neposredno in jih nekajkrat na sekundo vključi v React.
01Najpreprostejše
Ena oznaka in vaši podatki
Vsaka komponenta deluje sama: brez providerja, ovijajoče komponente ali klica za nastavitev. Zbirke sprejmejo items in renderItem, vaša postavitev, besedilo in slogi pa ostanejo vaši.
- Uvozite eno komponento in podajte vrednost. To je vsa integracija.
- Seznami, zavihki in listanje strani berejo vaše polje; ključi so privzeto
item.id. - Besedilo ostane pravo besedilo: prelamlja se, se prilagaja pisavi in ga je mogoče označiti.
<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} />;
Šest komponent v živo in ena vrstica kode za vsako.
Pripravljanje primera …
02Najhitrejše
Predvaja brskalnik. React miruje.
Na spletu ni treba naložiti nobene knjižnice za animacije: komponente gibanje predajo Web Animations API, zato vrteče se število ali panel, ki spreminja velikost, med gibanjem ne stane nič JavaScripta na sličico in nobenega upodabljanja Reacta.
- 0 callbackov sličic JS, medtem ko teče 12 animacij hkrati.
- En commit Reacta na spremembo vrednosti, ne eden na sličico.
- Pretočno besedilo: 11 commitov Reacta za 3000 znakov. Primer spodaj šteje lastne upodobitve.
Pripravljanje primera …
03Najstabilnejše
Prekinite kar koli. Nikoli ne skoči.
Vsaka nova vrednost se začne od tistega, kar je na zaslonu, vzmeti pa ohranijo hitrost, zato so hitri kliki, izbruhi podatkov in obrati videti namerni. Ko se gibanje konča, nič ne teče naprej.
- Števila se nikoli ne razcepijo: preostala mesta drsijo, medtem ko se vrtijo.
- 200 novih vrednosti v razmiku 5 ms: nato ostane 0 animacij in natančno končno besedilo.
- Varno v React StrictMode. V aplikaciji React Native v ozadju se gibanje umiri v končno stanje.
Pripravljanje primera …
16 komponent, razvrščenih po nalogi, ki jo opravljajo
Števila in besedilo, vsebina, ki spreminja velikost, izbira, seznami, geste, prekrivni elementi in napredek. Vsaka ima delovno mizo v živo s props ob strani.
Vse komponenteŠtevila in besedilo
Vsebina in velikost
Izbira in listanje
Seznami
Geste
Prekrivni elementi
Napredek
Sestavljeno
Celotni zasloni, ki združujejo več komponent, vsak z nastavitvami zunaj primera.
Vsi primeri- Odgovor v klepetuPredlogi, ki se strnejo, odgovor, ki priteka v enakomernem tempu, in vrstica stanja, ki se zamenja.
MotionStreamMotionListMotionSwapMotionHeight - Povzetek blagajneKoličine, zneski vrstic in skupni znesek se vrtijo, ko se košarica spreminja; obvestilo o kuponu vstopi in odide; plačilo zahteva premišljeno držanje.
MotionListMotionNumberMotionPresenceMotionHold - NabiralnikZavihki filtrov s števci v živo, vrstice, ki jih lahko odrinete s potegom, in seznam, ki zapre vrzel.
MotionHighlightMotionListMotionSwipeMotionNumber - Vir fotografijListajte po fotografijah s potegom, skačite s sličicami, odprite katero koli fotografijo na celoten zaslon in povlecite navzgor njene podrobnosti.
MotionPagerMotionHighlightMotionZoomMotionSheet
Isti uvoz na spletu in v React Nativu
Metro izbere domorodno izvedbo, spletni bundlerji pa izvedbo DOM. Vsaka platforma predvaja gibanje tako, kot ga predvaja najbolje.
// 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} />
</>
);
}| Del | Splet | React Native |
|---|---|---|
| Transformacije in prosojnost | Web Animations API, vzmeti, vzorčene analitično | Animated z domorodnim driverjem |
| Širina in višina | Web Animations API | Animated z driverjem JS, ker gre za postavitev |
| Pretočno besedilo | Znaki se dodajajo in postopno prikažejo; nekaj upodobitev Reacta na sekundo | Pravi Text, prikazan brez postopnega prikaza |
| Sheeti in povečava | Domoroden dialog v zgornji plasti | Prozoren Modal; zapre ga gumb za nazaj |
Začnite v dveh minutah
Namestite, uvozite eno komponento, podajte vrednost.
npm install @kkwaenggwari/animated-chorus