Название может быть не на месте, но я постараюсь объяснить здесь. Я использовал SwitchTransition в режиме in-out
, но поскольку моя анимация была выполнена с использованием в основном перехватчик useSpring из пакета react-spring
, я бы предпочел полностью перейти от React Transition Group
. Но я не совсем уверен, как добиться такого же эффекта. Когда происходит переход (для маршрутов), мне нужно, чтобы старый компонент оставался видимым (скажем, в течение 2000 миллисекунд), в то время как новый уже виден. Глядя на крючок useTransition
в react-spring
, я не вижу способа ввести задержку для leave
.
const transition = useTransition(show, null, {
from: { opacity: 0 },
enter: { opacity: 1 },
leave: { opacity: 0 },
config: {
duration: 200, // duration for the whole animation form start to end
},
})
В SwitchTransition
это было бы примерно так:
<SwitchTransition mode='in-out'>
<CSSTransition
key={location.pathname}
timeout={{ enter: 2000, exit: 400 }}
unmountOnExit
onEnter={()=>{callback}}
>
/* here go routes */
</CSSTransition>
</SwitchTransition>
Как сделать то же самое в React Spring с useTransition
?