Všechny komponenty

MotionNumber · MotionText

Číslo, jehož řády se točí jako kolečka, včetně řádů, které se objevují nebo mizí.

WebReact NativeČísla a text

Vyzkoušejte

Příprava příkladu…

Nejkratší použití

Total.jsx
<MotionNumber value={count} />
<MotionNumber value={total} mode="roll" intl locale="en-US"
  format={{ style: 'currency', currency: 'USD' }} />
<MotionText>{status}</MotionText>

Co za vás vyřeší

  • Přenosy: 999 → 1,000 protočí každý změněný řád stejným směrem, jako tachometr.
  • Řády, které se objevují nebo mizí, vrolují či vyrolují ve vlastním sloupci, místo aby vyskočily.
  • Oddělovače, znaménka a symboly měn se objevují a mizí s řádem, ke kterému patří.
  • Zbývající řády při rolování klouzají na nová místa, takže se číslo nikdy nerozpadne.
  • Nová hodnota uprostřed pohybu pokračuje přesně od toho, co je na obrazovce.
  • Formátování nikdy nevyžaduje Intl: předejte text nebo funkci format, případně zapněte intl.

Použijte pro

  • Součet košíku, který se mění s přidáváním položek.
  • Živé počítadlo nebo skóre.
  • Údaj na dashboardu, který se obnovuje každých pár sekund.

Props

MotionNumber

PropTypVýchozíPopis
valuenumber | bigint | string—povinnéČíslo nebo číselný text, který jste naformátovali.
mode'replace' | 'roll''replace'replace posune každý změněný řád o jeden krok; roll projde číslicemi mezi.
direction'auto' | 'digit' | 'up' | 'down''auto'auto sleduje změnu velikosti, takže přenosy rolují jedním směrem; digit porovnává každý řád zvlášť.
staggernumber45Milisekundy mezi změněnými řády, od jednotek ven. Celá vlna je časově omezená.
format(value) => string | Intl.NumberFormatOptionsFunkce vracející text k zobrazení, nebo volby Intl.NumberFormat (s intl).
intlbooleanfalsePoužít vestavěný Intl.NumberFormat. Ve výchozím stavu vypnuto, aby žádné běhové prostředí Intl nepotřebovalo.
localestring | string[]Locale pro intl.
prefixstringText před číslem.
suffixstringText za číslem.
transitionTransitionspringKřivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost.
onMotionComplete(value) => voidSpustí se s hodnotou, když řády dosednou.

MotionText

PropTypVýchozíPopis
childrenReactNodeText k zobrazení.
aselement'span'Prvek, který se renderuje.
transitionTransitionspringKřivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost.
onMotionComplete(text) => voidSpustí se, když pohyb dosedne.

Ostatní props jdou do renderovaného prvku, takže className, style a obsluhy událostí fungují jako obvykle.

Web a React Native

Na webu je každý řád malým sloupcem glyfů přehrávaným přes Web Animations API a text zůstává označitelný. MotionText animuje jakýkoli text: číselný text roluje po řádech, ostatní se vymění.

V React Native zůstává číslo skutečným Text pro rozvržení, označování i přístupnost, včetně zalamování a numberOfLines; glyfy se pohybují na nativním driveru.

Použito v těchto příkladech

Hledat

Pište a hledejte v dokumentaci.