Kaikki komponentit

MotionList

Lista datasta, joka animoi vain muuttuneen.

WebReact NativeListat

Kokeile

Valmistellaan esimerkkiä…

Lyhin käyttö

Todos.jsx
<MotionList as="ul" items={todos} renderItem={(todo) => <TodoRow todo={todo} />} />;

Mitä se hoitaa puolestasi

  • Uudet kohteet saapuvat rajatulla porrastuksella, ja koskemattomat pysyvät paikallaan.
  • Poistetut kohteet poistuvat virrasta ja animoituvat ulos paikallaan, kun muut liukuvat aukkoon.
  • Uudelleen järjestetyt kohteet liukuvat uusiin sijainteihinsa.
  • Toisen muutoksen keskeyttämät siirrot säilyttävät nopeutensa.
  • present={false} animoi jokaisen kohteen ulos, ja playKey toistaa saapumisen uudelleen.

Käytä sitä

  • Tehtävälista.
  • Suodatetut hakutulokset.
  • Ostoskori.

Props

PropTyyppiOletusKuvaus
itemsreadonly T[]—pakollinenDatataulukkosi.
getKey(item) => string | numberitem.idPalauttaa kohteelle yksilöllisen, vakaan keyn. Oletuksena item.id, merkkijonoille ja luvuille kohde itse.
renderItem(item, index) => ReactNodeitem.labelPiirtää kohteen.
aselement'div'Renderöitävä elementti.
itemAselement'li' | 'div'Kunkin kohteen elementti.
itemClassNamestringLuokka kullekin kohde-elementille; itemStyle asettaa sen inline-tyylin.
effect'rise' | 'fade' | 'scale' | 'slide''rise'Miten kohteet saapuvat ja poistuvat.
distancenumber16rise- ja slide-liikkeen matka pikseleinä.
staggernumber40Millisekunnit saapuvien kohteiden välillä.
order'forward' | 'reverse''forward'Porrastuksen suunta.
presentbooleantruefalse animoi jokaisen kohteen ulos asettelun säilyttäen; true tuo ne takaisin.
initialbooleantrueToista saapuminen, kun lista kiinnitetään.
playKeystring | numberSen muuttaminen toistaa saapumisen uudelleen.
transitionTransitionspringSiirtymä saapuville ja poistuville kohteille.
layoutTransitionTransitionspringSiirtymä uusiin sijainteihin liukuville kohteille.

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

Web ja React Native

Jokainen kohde saa kääre-elementin (li ul- tai ol-elementin sisällä, muuten div; itemAs muuttaa sen), jota muotoillaan itemClassName-arvolla.

Keyjen on oltava yksilöllisiä. Kääri lista MotionHeight-komponenttiin animoidaksesi myös sen kokonaiskorkeuden.

Käytetty näissä esimerkeissä

Haku

Kirjoita hakeaksesi dokumentaatiosta.