Všechny komponenty

MotionHeight

Výška, která sleduje obsah: sbalení, rozbalení a změny obsahu.

WebReact NativeObsah a velikost

Vyzkoušejte

Příprava příkladu…

Nejkratší použití

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

Co za vás vyřeší

  • Animuje na skutečnou výšku obsahu, změřenou za vás.
  • Sleduje obsah, když za otevřeného stavu roste nebo se zmenšuje.
  • Začíná od výšky na obrazovce, i uprostřed změny.
  • Změna velikosti stránky se přizpůsobí hned, místo aby za novou šířkou zaostávala.
  • Zavřený obsah zůstává připojený, ale skrytý a neaktivní, takže si zachová stav.

Použijte pro

  • Odpovědi v FAQ.
  • Skupina nastavení, která se otevírá.
  • Seznam, jehož celková výška se má animovat (obalte MotionList).

Props

PropTypVýchozíPopis
openbooleantruefalse sbalí na nulovou výšku; obsah zůstane připojený, ale skrytý a neaktivní.
childrenReactNodeObsah.
aselement'div'Prvek, který se renderuje.
transitionTransitionspringKřivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost.
onMotionComplete(open) => voidSpustí se s open, když výška dosedne.

Ostatní props jdou do renderovaného prvku, takže className, style a obsluhy událostí fungují jako obvykle.

Web a React Native

Na webu se výška přehrává přes Web Animations API a obsah si zachovává běžné rozvržení.

V React Native view ořízne obsah a animuje výšku na driveru JS, protože výška je rozvržení.

Použito v těchto příkladech

Hledat

Pište a hledejte v dokumentaci.