Alle komponenter

MotionHeight

Høyde som følger innholdet: lukke, åpne og innholdsendringer.

WebReact NativeInnhold og størrelse

Prøv det

Forbereder eksempelet …

Korteste bruk

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

Dette tar den seg av

  • Animerer til innholdets faktiske høyde, målt for deg.
  • Følger innholdet når det vokser eller krymper mens det er åpent.
  • Starter fra høyden på skjermen, selv midt i en endring.
  • Når siden endrer størrelse, tilpasses høyden med en gang i stedet for å henge etter den nye bredden.
  • Lukket innhold forblir montert, men skjult og inert, så state-en beholdes.

Bruk den til

  • Svar i en FAQ.
  • En gruppe innstillinger som åpnes.
  • En liste der totalhøyden skal animeres (pakk inn MotionList).

Props

PropTypeStandardBeskrivelse
openbooleantruefalse lukker til null høyde; innholdet forblir montert, men skjult og inert.
childrenReactNodeInnholdet.
aselement'div'Elementet som renderes.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjær { tempo: 'spring', spring }. Fjærer beholder momentet når de avbrytes.
onMotionComplete(open) => voidKjører med open når høyden har landet.

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

Web og React Native

På nettet spilles høyden av Web Animations API, og innholdet beholder vanlig layout.

I React Native klipper visningen innholdet og animerer høyden på JS-driver, fordi høyde er layout.

Brukt i disse eksemplene

Søk

Skriv for å søke i dokumentasjonen.