Alle komponenter

MotionList

En liste fra data som bare animerer det som endret seg.

WebReact NativeLister

Prøv det

Forbereder eksempelet …

Korteste bruk

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

Dette tar den seg av

  • Nye elementer kommer inn med begrenset kaskade mens urørte elementer står stille.
  • Fjernede elementer forlater flyten og animeres ut der de var, mens resten glir inn i hullet.
  • Omsorterte elementer glir til nye posisjoner.
  • Flyttinger som avbrytes av en annen endring, beholder hastigheten.
  • present={false} animerer alle elementer ut, og playKey spiller av inngangen på nytt.

Bruk den til

  • En gjøremålsliste.
  • Filtrerte søkeresultater.
  • En handlekurv.

Props

PropTypeStandardBeskrivelse
itemsreadonly T[]—påkrevdData-arrayen din.
getKey(item) => string | numberitem.idReturnerer en unik, stabil nøkkel for et element. Standard er item.id, eller selve elementet for strenger og tall.
renderItem(item, index) => ReactNodeitem.labelTegner et element.
aselement'div'Elementet som renderes.
itemAselement'li' | 'div'Elementet for hvert punkt.
itemClassNamestringKlasse for hvert punkts element; itemStyle setter inline-stilen.
effect'rise' | 'fade' | 'scale' | 'slide''rise'Hvordan elementer kommer inn og forlater.
distancenumber16Avstand for rise og slide i piksler.
staggernumber40Millisekunder mellom innkommende elementer.
order'forward' | 'reverse''forward'Kaskadens retning.
presentbooleantruefalse animerer alle elementer ut og beholder layouten; true henter dem tilbake.
initialbooleantrueSpill av inngangen når listen monteres.
playKeystring | numberÅ endre den spiller av inngangen på nytt.
transitionTransitionspringOvergang for elementer som kommer inn og forlater.
layoutTransitionTransitionspringOvergang for elementer som glir til nye posisjoner.

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

Web og React Native

Hvert element får et omslagselement (li inne i ul eller ol, ellers div; itemAs endrer det) som stiles med itemClassName.

Nøkler må være unike. Pakk inn listen i MotionHeight for også å animere totalhøyden.

Brukt i disse eksemplene

Søk

Skriv for å søke i dokumentasjonen.