MotionPresence
Държи съдържанието монтирано, докато се анимира при влизане и излизане.
УебReact NativeСъдържание и размер
Опитайте
Подготовка на примера…
Най-кратка употреба
<MotionPresence present={visible} exit={{ opacity: 0, translateY: -12 }}>
Draft saved
</MotionPresence>;С какво се справя вместо вас
- Променяйте
presentвместо демонтиране; съдържанието излиза, преди да бъде премахнато. - Връщане по време на излизане продължава от текущите стойности.
- Съдържание, което се появява отново, влиза от позата
exit. - Първият рендер го показва в покой, така че вече наличното съдържание не примигва.
Подходящ за
- Известие за запазена чернова.
- Съобщение за купон при плащане.
- Съобщение за грешка под поле.
Props
| Prop | Тип | По подразбиране | Описание |
|---|---|---|---|
present | boolean | —задължително | Покажи или скрий съдържанието. Променяйте това вместо демонтиране. |
enter | Pose | { opacity: 1, translateY: 0 } | Позата в покой. |
exit | Pose | { opacity: 0, translateY: -12 } | Позата, с която съдържанието излиза и от която влиза. |
as | element | 'div' | Елементът за рендериране. |
transition | Transition | spring | Крива на 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.