React · React Native · 16 komponens

Nehéz interakciók, készen.

Az Animated Chorus mozgáskomponensek gyűjteménye olyan interakciókhoz, amelyeket kézzel nehéz jól megcsinálni: pörgő számok, folyamatosan érkező szöveg, átméreteződő cserék, sheetek, lapozók, csúsztatásos műveletek és csak a változást animáló listák. Egy címke és az Ön adatai. Nincs provider, nincs beállítás.

Telepítés
npm install @kkwaenggwari/animated-chorus

Erre a kiadásra mérve

Chrome, 2026-09-28. Minden feltétel és minta a teljesítmény-útmutatóban található. Hogyan mértük

  • 28.0KBKB gzip mind a 16 exportra

    A teljes webes belépési pont, minifikálva. A React az egyetlen peer.

  • 0JS-képkocka-callbackek animáció közben

    Egy szám, egy magasság és egy kiemelés együtt változik: a böngésző mind a(z) 12 animációt lejátssza.

  • 1React-commit értékváltozásonként

    A MotionNumber akkor renderel, amikor az érték változik, pörgés közben soha.

  • 11React-commitok 3000 folyamatosan érkező karakterre

    A MotionStream közvetlenül hozzáfűzi a karaktereket, és másodpercenként néhányszor beolvasztja őket a Reactbe.

01A legegyszerűbb

Egy címke és az Ön adatai

Minden komponens önállóan működik: nincs provider, burkoló komponens vagy beállító hívás. A gyűjtemények items és renderItem értéket fogadnak, az elrendezés, a szöveg és a stílusok pedig az Önéi maradnak.

  • Importáljon egy komponenst, és adjon át egy értéket. Ez a teljes integráció.
  • A listák, fülek és lapozók az Ön tömbjét olvassák; a key alapértelmezése item.id.
  • A szöveg valódi szöveg marad: tördelődik, a betűmérettel skálázódik, és kijelölhető.
  • <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} />;

Hat élő komponens, és mindegyik mögött egyetlen sor kód.

A példa előkészítése…

02A leggyorsabb

A böngésző játssza le. A React nyugton marad.

Weben nincs betöltendő animációs könyvtár: a komponensek a mozgást a Web Animations API-nak adják át, így egy pörgő szám vagy átméreteződő panel mozgás közben nem kerül képkockánkénti JavaScriptbe és React-renderelésbe.

  • 0 JS-képkocka-callback, miközben 12 animáció fut együtt.
  • Értékváltozásonként egy React-commit, nem képkockánként.
  • Folyamatos szöveg: 11 React-commit 3000 karakterre. Az alábbi példa a saját rendereléseit számolja.

A példa előkészítése…

03A legstabilabb

Szakítson meg bármit. Soha nem ugrik.

Minden új érték onnan indul, ami a képernyőn van, a rugók pedig megtartják a sebességüket, így a gyors kattintások, adatlöketek és irányváltások szándékosnak hatnak. Amikor a mozgás véget ér, semmi sem fut tovább.

  • A számok soha nem esnek szét: a maradó helyiértékek pörgés közben csúsznak.
  • 200 új érték 5 ms-onként: utána 0 animáció marad, és a végső szöveg pontos.
  • Biztonságos React StrictMode alatt. Háttérben futó React Native alkalmazásban a mozgás a végállapotba kerül.

A példa előkészítése…

16 komponens, feladatuk szerint csoportosítva

Számok és szöveg, méretét változtató tartalom, kiválasztás, listák, gesztusok, rétegek és haladás. Mindegyiknek van élő munkapadja, oldalt a props-okkal.

Összes komponens

Ugyanaz az import weben és React Native alatt

A Metro a natív, a webes csomagolók a DOM-implementációt választják. Minden platform úgy játssza le a mozgást, ahogy a legjobban tudja.

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} />
    </>
  );
}
RészWebReact Native
Transzformációk és átlátszatlanságWeb Animations API, analitikusan mintavételezett rugókAnimated natív driverrel
Szélesség és magasságWeb Animations APIAnimated JS-driverrel, mert ez elrendezés
Folyamatos szövegHozzáfűzött és beúszó karakterek; másodpercenként néhány React-renderelésValódi Text, áttűnés nélkül megjelenítve
Sheetek és nagyításNatív dialog a legfelső rétegbenÁtlátszó Modal; a vissza gomb bezárja

Kezdés két perc alatt

Telepítse, importáljon egy komponenst, adjon át egy értéket.

npm install @kkwaenggwari/animated-chorus

Keresés

Gépeljen a dokumentációban való kereséshez.