React · React Native · 16 komponenti

Teške interakcije, gotove.

Animated Chorus skup je komponenti pokreta za interakcije koje je teško ručno napraviti kako treba: brojevi koji se vrte, tekst koji pristiže u streamu, zamjene koje mijenjaju veličinu, sheetovi, pageri, radnje povlačenjem i popisi koji animiraju samo ono što se promijenilo. Jedna oznaka i vaši podaci. Bez providera, bez postavljanja.

Instalacija
npm install @kkwaenggwari/animated-chorus

Izmjereno na ovoj izgradnji

Chrome, 2026-09-28. Svi uvjeti i uzorci nalaze se u vodiču o performansama. Kako je izmjereno

  • 28.0KBKB gzip za svih 16 exporta

    Cijela ulazna točka za web, minificirana. React je jedina peer ovisnost.

  • 0JS callbackovi kadrova tijekom animacije

    Broj, visina i isticanje mijenjaju se zajedno: preglednik reproducira svih 12 animacija.

  • 1Reactov commit po promjeni vrijednosti

    MotionNumber se renderira kad se vrijednost promijeni, nikad dok se vrti.

  • 11Reactovi commitovi za 3000 znakova iz streama

    MotionStream izravno dodaje znakove i u React ih predaje samo nekoliko puta u sekundi.

01Najjednostavnije

Jedna oznaka i vaši podaci

Svaka komponenta radi samostalno: bez providera, omotačke komponente ili poziva za postavljanje. Kolekcije primaju items i renderItem, a vaš raspored, tekstovi i stilovi ostaju vaši.

  • Uvezite jednu komponentu i predajte vrijednost. To je cijela integracija.
  • Popisi, kartice i pageri čitaju vaš niz; ključevi su prema zadanom item.id.
  • Tekst ostaje pravi tekst: prelama se, skalira s fontom i može se 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 komponenti uživo i jedan redak koda iza svake.

Priprema primjera…

02Najbrže

Reproducira preglednik. React miruje.

Na webu nema biblioteke animacija za učitavanje: komponente predaju pokret Web Animations API-ju, pa broj koji se vrti ili ploča koja mijenja veličinu ne koštaju ni JavaScript po kadru ni Reactovo renderiranje dok se kreću.

  • 0 JS callbackova kadrova dok 12 animacija radi zajedno.
  • Jedan Reactov commit po promjeni vrijednosti, ne jedan po kadru.
  • Tekst iz streama: 11 Reactovih commitova za 3000 znakova. Primjer ispod broji vlastita renderiranja.

Priprema primjera…

03Najstabilnije

Prekinite bilo što. Ništa ne skače.

Svaka nova vrijednost počinje od onoga što je na zaslonu, a opruge zadržavaju brzinu, pa brzi klikovi, naleti podataka i okretanja izgledaju namjerno. Kad pokret završi, ništa ne ostaje pokrenuto.

  • Brojevi se nikad ne raspadaju: preostala mjesta klize dok se vrte.
  • 200 novih vrijednosti u razmaku od 5 ms: nakon toga ostaje 0 animacija i točan završni tekst.
  • Sigurno u React StrictModeu. U React Native aplikaciji u pozadini pokret prelazi u završno stanje.

Priprema primjera…

16 komponenti grupiranih prema zadatku

Brojevi i tekst, sadržaj promjenjive veličine, odabir, popisi, geste, slojevi i napredak. Svaka ima radni stol uživo s props sa strane.

Sve komponente

Isti import na webu i u React Nativeu

Metro bira nativnu implementaciju, a web bundleri onu za DOM. Svaka platforma reproducira pokret onako kako najbolje zna.

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} />
    </>
  );
}
DioWebReact Native
Transformacije i opacityWeb Animations API, opruge uzorkovane analitičkiAnimated s nativnim driverom
Širina i visinaWeb Animations APIAnimated s JS driverom jer je riječ o rasporedu
Tekst iz streamaZnakovi se dodaju i postupno pojavljuju; nekoliko Reactovih renderiranja u sekundiPravi Text, otkriven bez prelijevanja
Sheetovi i zumiranjeNativni dialog u gornjem slojuProzirni Modal; zatvara ga gumb za natrag

Započnite za dvije minute

Instalirajte, uvezite jednu komponentu, predajte vrijednost.

npm install @kkwaenggwari/animated-chorus

Pretraži

Tipkajte za pretraživanje dokumentacije.