Усі компоненти

MotionHeight

Висота, що йде за вмістом: згортання, розгортання й зміни вмісту.

ВебReact NativeВміст і розмір

Спробуйте

Підготовка прикладу…

Найкоротше використання

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

Що він бере на себе

  • Анімує до реальної висоти вмісту, виміряної за вас.
  • Іде за вмістом, коли він росте чи зменшується у відкритому стані.
  • Починає з висоти на екрані — навіть посеред зміни.
  • Під час зміни розміру сторінки висота одразу підлаштовується, а не відстає від нової ширини.
  • Закритий вміст лишається змонтованим, але прихованим і неактивним, тож його стан зберігається.

Для чого підходить

  • Відповіді у FAQ.
  • Група налаштувань, що розкривається.
  • Список, загальна висота якого має анімуватися (обгорніть MotionList).

Props

ПропТипТиповоОпис
openbooleantruefalse згортає до нульової висоти; вміст лишається змонтованим, але прихованим і неактивним.
childrenReactNodeВміст.
aselement'div'Елемент для рендеру.
transitionTransitionspringКрива timing { duration, easing } чи пружина { tempo: 'spring', spring }. Після переривання пружини зберігають інерцію.
onMotionComplete(open) => voidВиконується з open, коли висота зупинилася.

Решта props передається відрендереному елементу, тож className, style і обробники подій працюють як завжди.

Веб і React Native

У вебі висоту відтворює Web Animations API, а вміст зберігає звичайну розкладку.

У React Native view обрізає вміст і анімує висоту на драйвері JS, бо висота — це розкладка.

Використовується в прикладах

Пошук

Почніть вводити, щоб шукати в документації.