Alle komponenter

MotionNumber · MotionText

Et tal, hvis pladser ruller som hjul, også pladser, der dukker op eller forsvinder.

WebReact NativeTal og tekst

Prøv det

Forbereder eksemplet…

Korteste brug

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

Det klarer den for dig

  • Mente: 999 → 1,000 ruller hver ændret plads i samme retning, som en kilometertæller.
  • Pladser, der dukker op eller forsvinder, ruller ind i eller ud af deres egen kolonne i stedet for at poppe.
  • Separatorer, fortegn og valutasymboler toner ind og ud med den plads, de hører til.
  • De resterende pladser glider til deres nye positioner, mens de ruller, så tallet aldrig splitter.
  • En ny værdi midt i en bevægelse fortsætter præcis fra det, der er på skærmen.
  • Formatering kræver aldrig Intl: giv tekst eller en format-funktion, eller slå intl til.

Brug den til

  • En kurvtotal, der ændrer sig, når varer tilføjes.
  • En live-tæller eller -score.
  • Et tal på et dashboard, der opdateres med få sekunders mellemrum.

Props

MotionNumber

PropTypeStandardBeskrivelse
valuenumber | bigint | string—påkrævetTallet eller numerisk tekst, som du har formateret.
mode'replace' | 'roll''replace'replace flytter hver ændret plads ét trin; roll passerer cifrene imellem.
direction'auto' | 'digit' | 'up' | 'down''auto'auto følger størrelsesændringen, så mente ruller i én retning; digit sammenligner hver plads for sig.
staggernumber45Millisekunder mellem ændrede pladser, fra enerne og udad. Hele bølgen er begrænset.
format(value) => string | Intl.NumberFormatOptionsEn funktion, der returnerer teksten, der skal vises, eller Intl.NumberFormat-indstillinger (med intl).
intlbooleanfalseBrug den indbyggede Intl.NumberFormat. Slået fra som standard, så intet runtime kræver Intl.
localestring | string[]Locale til intl.
prefixstringTekst før tallet.
suffixstringTekst efter tallet.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes.
onMotionComplete(value) => voidKører med værdien, når pladserne er landet.

MotionText

PropTypeStandardBeskrivelse
childrenReactNodeTeksten, der skal vises.
aselement'span'Elementet, der renderes.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes.
onMotionComplete(text) => voidKører, når bevægelsen lander.

Andre props går til det renderede element, så className, style og event handlers virker som normalt.

Web og React Native

På nettet er hver plads en lille stak glyffer, der afspilles af Web Animations API, og teksten kan stadig markeres. MotionText animerer enhver tekst: numerisk tekst ruller pr. plads, anden tekst skiftes.

I React Native forbliver tallet en rigtig Text til layout, markering og tilgængelighed, inklusive ombrydning og numberOfLines; glyfferne bevæger sig på native driver.

Brugt i disse eksempler

Søg

Skriv for at søge i dokumentationen.