React-Spring 为什么关闭动画不起作用?
React-Spring Why doesn't the closing animation work?
我正在使用 spring 版本 8.0.27 制作模态 window 动画。当我打开 window 时动画有效,它从底部移出,但是当我关闭 window 时它就消失了,没有动画。
我看了例子,里面的代码是一样的,但是关闭的时候有动画,我不明白我的问题是什么,我都是按照文档做的。
关闭时如何制作流畅的动画?我认为请假 属性 会影响这个
const transitions = useTransition(show, null, {
from: { opacity: 0, transform: `translateY(100%)` },
enter: { opacity: 1, transform: `translateY(0%)` },
leave: { opacity: 0, transform: `translateY(100%)` },
});
return (
<>
{show && (
<ModalBackground>
{transitions.map(
({ item, key, props: style }) =>
item && (
<animated.div
style={style}
key={key}
>
<ModalContainer>
<ModalClose onClick={() => setShow((prev) => !prev)}>
<IoClose />
</ModalClose>
</ModalContainer>
</animated.div>
)
)}
</ModalBackground>
)}
</>
);
问题是当我关闭组件时立即卸载并且动画没有时间工作。我刚刚删除了 show &&
,一切正常
我正在使用 spring 版本 8.0.27 制作模态 window 动画。当我打开 window 时动画有效,它从底部移出,但是当我关闭 window 时它就消失了,没有动画。
我看了例子,里面的代码是一样的,但是关闭的时候有动画,我不明白我的问题是什么,我都是按照文档做的。
关闭时如何制作流畅的动画?我认为请假 属性 会影响这个
const transitions = useTransition(show, null, {
from: { opacity: 0, transform: `translateY(100%)` },
enter: { opacity: 1, transform: `translateY(0%)` },
leave: { opacity: 0, transform: `translateY(100%)` },
});
return (
<>
{show && (
<ModalBackground>
{transitions.map(
({ item, key, props: style }) =>
item && (
<animated.div
style={style}
key={key}
>
<ModalContainer>
<ModalClose onClick={() => setShow((prev) => !prev)}>
<IoClose />
</ModalClose>
</ModalContainer>
</animated.div>
)
)}
</ModalBackground>
)}
</>
);
问题是当我关闭组件时立即卸载并且动画没有时间工作。我刚刚删除了 show &&
,一切正常