Visi komponentai

MotionNumber · MotionText

Skaičius, kurio skaitmenys sukasi kaip ratukai, įskaitant atsirandančius ar išnykstančius skaitmenis.

ŽiniatinklisReact NativeSkaičiai ir tekstas

Išbandykite

Ruošiamas pavyzdys…

Trumpiausias naudojimas

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

Ką jis sutvarko už jus

  • Perkėlimai: 999 → 1,000 kiekvieną pasikeitusį skaitmenį suka ta pačia kryptimi, kaip ridos skaitiklis.
  • Atsirandantys ar išnykstantys skaitmenys įsisuka į savo stulpelį ar išsisuka iš jo, užuot staiga iššokę.
  • Skyrikliai, ženklai ir valiutų simboliai išryškėja ir išblunka kartu su skaitmeniu, kuriam priklauso.
  • Likę skaitmenys sukdamiesi nuslenka į naujas vietas, todėl skaičius niekada nesuskyla.
  • Nauja reikšmė judesio viduryje tęsiasi tiksliai nuo to, kas yra ekrane.
  • Formatavimui niekada nereikia Intl: perduokite tekstą ar format funkciją arba įjunkite su intl.

Naudokite jį

  • Krepšelio suma, kuri keičiasi pridedant prekes.
  • Gyvas skaitiklis ar rezultatas.
  • Prietaisų skydelio skaičius, atsinaujinantis kas kelias sekundes.

Props

MotionNumber

PropTipasNumatytojiAprašymas
valuenumber | bigint | string—privalomaSkaičius arba kviečiančiojo suformatuotas skaitinis tekstas.
mode'replace' | 'roll''replace'replace kiekvieną pasikeitusį skaitmenį perkelia vienu žingsniu; roll pereina per tarpinius skaitmenis.
direction'auto' | 'digit' | 'up' | 'down''auto'auto seka dydžio pokytį, kad perkėlimai suktųsi viena kryptimi; digit kiekvieną skaitmenį lygina atskirai.
staggernumber45Milisekundės tarp pasikeitusių skaitmenų, nuo vienetų į išorę. Visa banga yra ribota.
format(value) => string | Intl.NumberFormatOptionsFunkcija, grąžinanti rodomą tekstą, arba Intl.NumberFormat parinktys (su intl).
intlbooleanfalseNaudoti integruotą Intl.NumberFormat. Pagal numatymą išjungta, kad jokiai vykdymo aplinkai nereikėtų Intl.
localestring | string[]Lokalė intl.
prefixstringTekstas prieš skaičių.
suffixstringTekstas po skaičiaus.
transitionTransitionspringTiming kreivė { duration, easing } arba spyruoklė { tempo: 'spring', spring }. Pertrauktos spyruoklės išlaiko inerciją.
onMotionComplete(value) => voidVykdomas su reikšme, kai skaitmenys nusistovi.

MotionText

PropTipasNumatytojiAprašymas
childrenReactNodeRodomas tekstas.
aselement'span'Atvaizduojamas elementas.
transitionTransitionspringTiming kreivė { duration, easing } arba spyruoklė { tempo: 'spring', spring }. Pertrauktos spyruoklės išlaiko inerciją.
onMotionComplete(text) => voidVykdomas, kai judesys nusistovi.

Kiti props perduodami atvaizduojamam elementui, todėl className, style ir įvykių apdorojimo funkcijos veikia kaip įprastai.

Žiniatinklis ir React Native

Žiniatinklyje kiekvienas skaitmuo yra maža glifų krūvelė, kurią groja Web Animations API, o tekstas lieka pažymimas. MotionText animuoja bet kokį tekstą: skaitinis tekstas sukasi pagal skaitmenis, kitas tekstas pakeičiamas.

React Native skaičius lieka tikru Text išdėstymui, pažymėjimui ir prieinamumui, įskaitant eilučių kėlimą ir numberOfLines; glifai juda su vietiniu driver.

Naudojama šiuose pavyzdžiuose

Paieška

Rašykite, kad ieškotumėte dokumentacijoje.