Alle komponenter

MotionNumber · MotionText

Et tall der plassene ruller som hjul, også plasser som dukker opp eller forsvinner.

WebReact NativeTall og tekst

Prøv det

Forbereder eksempelet …

Korteste bruk

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

Dette tar den seg av

  • Mente: 999 → 1,000 ruller hver endrede plass i samme retning, som en kilometerteller.
  • Plasser som dukker opp eller forsvinner, ruller inn i eller ut av sin egen kolonne i stedet for å sprette frem.
  • Skilletegn, fortegn og valutasymboler toner inn og ut sammen med plassen de hører til.
  • Gjenværende plasser glir til nye posisjoner mens de ruller, så tallet deler seg aldri.
  • En ny verdi midt i en bevegelse fortsetter nøyaktig fra det som er på skjermen.
  • Formatering krever aldri Intl: send tekst eller en format-funksjon, eller slå på intl.

Bruk den til

  • En handlekurvsum som endres når varer legges til.
  • En live teller eller poengsum.
  • Et tall på et dashbord som oppdateres med noen sekunders mellomrom.

Props

MotionNumber

PropTypeStandardBeskrivelse
valuenumber | bigint | string—påkrevdTallet, eller numerisk tekst du har formatert.
mode'replace' | 'roll''replace'replace flytter hver endrede plass ett steg; roll går gjennom sifrene imellom.
direction'auto' | 'digit' | 'up' | 'down''auto'auto følger størrelsesendringen så mente ruller én vei; digit sammenligner hver plass for seg.
staggernumber45Millisekunder mellom endrede plasser, fra enerne og utover. Hele bølgen er begrenset.
format(value) => string | Intl.NumberFormatOptionsEn funksjon som returnerer teksten som skal vises, eller Intl.NumberFormat-alternativer (med intl).
intlbooleanfalseBruk den innebygde Intl.NumberFormat. Av som standard, så ingen kjøremiljøer trenger Intl.
localestring | string[]Locale for intl.
prefixstringTekst før tallet.
suffixstringTekst etter tallet.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjær { tempo: 'spring', spring }. Fjærer beholder momentet når de avbrytes.
onMotionComplete(value) => voidKjører med verdien når plassene har landet.

MotionText

PropTypeStandardBeskrivelse
childrenReactNodeTeksten som skal vises.
aselement'span'Elementet som renderes.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjær { tempo: 'spring', spring }. Fjærer beholder momentet når de avbrytes.
onMotionComplete(text) => voidKjører når bevegelsen lander.

Andre props går til det renderte elementet, så className, style og hendelseshåndterere fungerer som vanlig.

Web og React Native

På nettet er hver plass en liten stabel med glyfer som spilles av Web Animations API, og teksten kan fortsatt merkes. MotionText animerer hvilken som helst tekst: numerisk tekst ruller per plass, annen tekst byttes.

I React Native forblir tallet en ekte Text for layout, merking og tilgjengelighet, inkludert linjebryting og numberOfLines; glyfene beveger seg på native driver.

Brukt i disse eksemplene

Søk

Skriv for å søke i dokumentasjonen.