Kaikki komponentit

MotionNumber · MotionText

Luku, jonka numeropaikat pyörivät kuin rullat, mukaan lukien ilmestyvät ja katoavat paikat.

WebReact NativeNumerot ja teksti

Kokeile

Valmistellaan esimerkkiä…

Lyhin käyttö

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

Mitä se hoitaa puolestasi

  • Muistinumerot: 999 → 1,000 pyörittää jokaista muuttunutta numeropaikkaa samaan suuntaan kuin matkamittari.
  • Ilmestyvät tai katoavat numeropaikat pyörivät sisään omaan sarakkeeseensa tai sieltä ulos sen sijaan, että ponnahtaisivat.
  • Erottimet, etumerkit ja valuuttasymbolit häivytetään esiin ja pois yhdessä numeropaikan kanssa, johon ne kuuluvat.
  • Jäljelle jäävät numeropaikat liukuvat uusiin sijainteihinsa pyöriessään, joten luku ei koskaan hajoa.
  • Kesken liikkeen tuleva uusi arvo jatkaa tarkalleen siitä, mitä näytöllä on.
  • Muotoilu ei koskaan vaadi Intl-rajapintaa: anna tekstiä tai format-funktio tai ota se käyttöön intl-asetuksella.

Käytä sitä

  • Ostoskorin summa, joka muuttuu tuotteita lisättäessä.
  • Live-laskuri tai -pisteet.
  • Koontinäytön luku, joka päivittyy muutaman sekunnin välein.

Props

MotionNumber

PropTyyppiOletusKuvaus
valuenumber | bigint | string—pakollinenLuku tai kutsujan muotoilema numeerinen teksti.
mode'replace' | 'roll''replace'replace siirtää jokaista muuttunutta numeropaikkaa yhden askeleen; roll kulkee välissä olevien numeroiden kautta.
direction'auto' | 'digit' | 'up' | 'down''auto'auto seuraa suuruuden muutosta, jotta muistinumerot pyörivät yhteen suuntaan; digit vertaa jokaista numeropaikkaa erikseen.
staggernumber45Millisekunnit muuttuneiden numeropaikkojen välillä ykkösistä ulospäin. Koko aalto on rajattu.
format(value) => string | Intl.NumberFormatOptionsFunktio, joka palauttaa näytettävän tekstin, tai Intl.NumberFormat-asetukset (intl-asetuksen kanssa).
intlbooleanfalseKäytä sisäänrakennettua Intl.NumberFormat-rajapintaa. Oletuksena pois päältä, jotta mikään ajoympäristö ei tarvitse Intl-rajapintaa.
localestring | string[]Lokaali intl-asetukselle.
prefixstringTeksti ennen lukua.
suffixstringTeksti luvun jälkeen.
transitionTransitionspringTiming-käyrä { duration, easing } tai jousi { tempo: 'spring', spring }. Jouset säilyttävät liikemääränsä keskeytettäessä.
onMotionComplete(value) => voidSuoritetaan arvon kanssa, kun numeropaikat ovat asettuneet.

MotionText

PropTyyppiOletusKuvaus
childrenReactNodeNäytettävä teksti.
aselement'span'Renderöitävä elementti.
transitionTransitionspringTiming-käyrä { duration, easing } tai jousi { tempo: 'spring', spring }. Jouset säilyttävät liikemääränsä keskeytettäessä.
onMotionComplete(text) => voidSuoritetaan, kun liike asettuu.

Muut props-arvot menevät renderöidylle elementille, joten className, style ja tapahtumankäsittelijät toimivat tavalliseen tapaan.

Web ja React Native

Webissä jokainen numeropaikka on pieni merkkipino, jonka Web Animations API toistaa, ja teksti pysyy valittavana. MotionText animoi mitä tahansa tekstiä: numeerinen teksti pyörii numeropaikoittain, muu teksti vaihtuu.

React Nativessa luku pysyy oikeana Text-elementtinä asettelua, valintaa ja saavutettavuutta varten, mukaan lukien rivitys ja numberOfLines; merkit liikkuvat natiivilla driverilla.

Käytetty näissä esimerkeissä

Haku

Kirjoita hakeaksesi dokumentaatiosta.