Alle komponenter

MotionHeight

Højde, der følger indholdet: fold sammen, fold ud og indholdsændringer.

WebReact NativeIndhold og størrelse

Prøv det

Forbereder eksemplet…

Korteste brug

Details.jsx
<button onClick={() => setOpen(!open)}>Details</button>
<MotionHeight open={open}>
  <Answer />
</MotionHeight>

Det klarer den for dig

  • Animerer til indholdets reelle højde, målt for dig.
  • Følger indholdet, når det vokser eller skrumper, mens det er åbent.
  • Starter fra højden på skærmen, selv midt i en ændring.
  • Når siden ændrer størrelse, tilpasses højden med det samme i stedet for at halte efter den nye bredde.
  • Lukket indhold forbliver monteret, men skjult og inert, så dets state bevares.

Brug den til

  • Svar i en FAQ.
  • En gruppe indstillinger, der åbnes.
  • En liste, hvis samlede højde skal animeres (indpak MotionList).

Props

PropTypeStandardBeskrivelse
openbooleantruefalse folder sammen til højden nul; indholdet forbliver monteret, men skjult og inert.
childrenReactNodeIndholdet.
aselement'div'Elementet, der renderes.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes.
onMotionComplete(open) => voidKører med open, når højden er landet.

Andre props går til det renderede element, så className, style og event handlers virker som normalt.

Web og React Native

På nettet afspilles højden af Web Animations API, og indholdet beholder sit normale layout.

I React Native klipper viewet sit indhold og animerer højden på JS-driver, fordi højde er layout.

Brugt i disse eksempler

Søg

Skriv for at søge i dokumentationen.