Усі компоненти
MotionHeight
Висота, що йде за вмістом: згортання, розгортання й зміни вмісту.
ВебReact NativeВміст і розмір
Спробуйте
Найкоротше використання
Details.jsx<button onClick={() => setOpen(!open)}>Details</button>
<MotionHeight open={open}>
<Answer />
</MotionHeight>
Що він бере на себе
- Анімує до реальної висоти вмісту, виміряної за вас.
- Іде за вмістом, коли він росте чи зменшується у відкритому стані.
- Починає з висоти на екрані — навіть посеред зміни.
- Під час зміни розміру сторінки висота одразу підлаштовується, а не відстає від нової ширини.
- Закритий вміст лишається змонтованим, але прихованим і неактивним, тож його стан зберігається.
Для чого підходить
- Відповіді у FAQ.
- Група налаштувань, що розкривається.
- Список, загальна висота якого має анімуватися (обгорніть
MotionList).
Props
| Проп | Тип | Типово | Опис |
|---|
open | boolean | true | false згортає до нульової висоти; вміст лишається змонтованим, але прихованим і неактивним. |
|---|
children | ReactNode | | Вміст. |
|---|
as | element | 'div' | Елемент для рендеру. |
|---|
transition | Transition | spring | Крива timing { duration, easing } чи пружина { tempo: 'spring', spring }. Після переривання пружини зберігають інерцію. |
|---|
onMotionComplete | (open) => void | | Виконується з open, коли висота зупинилася. |
|---|
Решта props передається відрендереному елементу, тож className, style і обробники подій працюють як завжди.
Використовується в прикладах