Alle komponenter
MotionHeight
Højde, der følger indholdet: fold sammen, fold ud og indholdsændringer.
WebReact NativeIndhold og størrelse
Prøv det
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
| Prop | Type | Standard | Beskrivelse |
|---|
open | boolean | true | false folder sammen til højden nul; indholdet forbliver monteret, men skjult og inert. |
|---|
children | ReactNode | | Indholdet. |
|---|
as | element | 'div' | Elementet, der renderes. |
|---|
transition | Transition | spring | En timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes. |
|---|
onMotionComplete | (open) => void | | Kø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.