【发布时间】:2021-07-12 12:05:08
【问题描述】:
标题可能不在现场,但我会在这里尝试解释。我一直在in-out 模式下使用SwitchTransition,但由于我的动画主要是使用react-spring 包中的钩子useSpring 完成的,所以我宁愿完全从React Transition Group 移动。但我不太确定如何达到相同的效果。当发生转换时(对于路由),我需要旧组件保持可见(比如 2000 毫秒),而新组件已经可见。查看react-spring 中的钩子useTransition,我看不到为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 做同样的事情?
【问题讨论】:
标签: reactjs react-spring