Все компоненты

MotionPresence

Держит содержимое смонтированным, пока оно анимированно появляется и уходит.

ВебReact NativeСодержимое и размер

Попробуйте

Подготовка примера…

Кратчайшее использование

Notice.jsx
<MotionPresence present={visible} exit={{ opacity: 0, translateY: -12 }}>
  Draft saved
</MotionPresence>;

Что он берёт на себя

  • Меняйте present вместо размонтирования; содержимое уходит, прежде чем его удалят.
  • Возврат во время ухода продолжается с текущих значений.
  • Повторно появляющееся содержимое входит из позы exit.
  • Первый рендер показывает его в покое, поэтому уже имеющееся содержимое не мигает.

Для чего подходит

  • Уведомление о сохранённом черновике.
  • Сообщение о купоне при оформлении заказа.
  • Сообщение об ошибке под полем.

Props

ПропТипПо умолчаниюОписание
presentboolean—обязательноПоказать или скрыть содержимое. Меняйте это вместо размонтирования.
enterPose{ opacity: 1, translateY: 0 }Поза в покое.
exitPose{ opacity: 0, translateY: -12 }Поза, с которой содержимое уходит и из которой входит.
aselement'div'Элемент для рендера.
transitionTransitionspringКривая timing { duration, easing } или пружина { tempo: 'spring', spring }. При прерывании пружины сохраняют инерцию.
onExitComplete() => voidВыполняется после того, как содержимое ушло и было удалено.

Остальные props передаются отрендеренному элементу, поэтому className, style и обработчики событий работают как обычно.

Веб и React Native

Позы используют opacity, translateX, translateY, scale, scaleX, scaleY, rotate, width и height. onExitComplete выполняется после того, как содержимое ушло.

Те же позы и props работают в React Native.

Используется в примерах

Поиск

Начните вводить, чтобы искать в документации.