Alle componenten

MotionNumber · MotionText

Een getal waarvan de cijfers rollen als wieltjes, ook cijfers die verschijnen of verdwijnen.

WebReact NativeGetallen en tekst

Probeer het

Voorbeeld voorbereiden…

Kortste gebruik

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

Wat het voor je regelt

  • Overdrachten: 999 → 1,000 rolt elk gewijzigd cijfer dezelfde kant op, zoals een kilometerteller.
  • Cijfers die verschijnen of verdwijnen, rollen in of uit hun eigen kolom in plaats van op te poppen.
  • Scheidingstekens, tekens en valutasymbolen faden in en uit met het cijfer waar ze bij horen.
  • Overige cijfers schuiven naar hun nieuwe plek terwijl ze rollen, dus het getal valt nooit uiteen.
  • Een nieuwe waarde midden in een beweging gaat precies verder vanaf wat op het scherm staat.
  • Opmaak vereist nooit Intl: geef tekst of een format-functie mee, of zet intl aan.

Gebruik het voor

  • Een winkelwagentotaal dat verandert als artikelen worden toegevoegd.
  • Een live teller of score.
  • Een dashboardcijfer dat elke paar seconden ververst.

Props

MotionNumber

PropTypeStandaardBeschrijving
valuenumber | bigint | string—verplichtHet getal, of door jou opgemaakte numerieke tekst.
mode'replace' | 'roll''replace'replace verplaatst elk gewijzigd cijfer één stap; roll gaat langs de tussenliggende cijfers.
direction'auto' | 'digit' | 'up' | 'down''auto'auto volgt de grootteverandering zodat overdrachten één kant op rollen; digit vergelijkt elk cijfer apart.
staggernumber45Milliseconden tussen gewijzigde cijfers, vanaf de eenheden naar buiten. De hele golf is begrensd.
format(value) => string | Intl.NumberFormatOptionsEen functie die de te tonen tekst teruggeeft, of Intl.NumberFormat-opties (met intl).
intlbooleanfalseGebruik de ingebouwde Intl.NumberFormat. Standaard uit, zodat geen enkele runtime Intl nodig heeft.
localestring | string[]Locale voor intl.
prefixstringTekst voor het getal.
suffixstringTekst na het getal.
transitionTransitionspringEen timingcurve { duration, easing } of een veer { tempo: 'spring', spring }. Veren behouden hun momentum als ze worden onderbroken.
onMotionComplete(value) => voidDraait met de waarde zodra de cijfers tot rust zijn gekomen.

MotionText

PropTypeStandaardBeschrijving
childrenReactNodeDe te tonen tekst.
aselement'span'Het element dat wordt gerenderd.
transitionTransitionspringEen timingcurve { duration, easing } of een veer { tempo: 'spring', spring }. Veren behouden hun momentum als ze worden onderbroken.
onMotionComplete(text) => voidDraait als de beweging tot rust komt.

Andere props gaan naar het gerenderde element, dus className, style en event handlers werken zoals gewoonlijk.

Web en React Native

Op het web is elk cijfer een kleine stapel glyphs die door de Web Animations API wordt afgespeeld, en de tekst blijft selecteerbaar. MotionText animeert elke tekst: numerieke tekst rolt per cijfer, andere tekst wisselt.

In React Native blijft het getal een echte Text voor layout, selectie en toegankelijkheid, inclusief doorlopen en numberOfLines; de glyphs bewegen op de native driver.

Gebruikt in deze voorbeelden

Zoeken

Typ om de documentatie te doorzoeken.