问题描述
我正在尝试制作具有动态退出动画的应用。 SwitchTransition 的退出动画在组件渲染时设置,以后无法更改。可以使用 childFactory 和 TransitionGroup like here 来实现,但通过这种方式动画同时发生。我需要让反应等到以前的卸载 - 就像在 SwitchTransition 中一样。所以问题是:是否有可能为 SwitchTransition 使用 childFactory 之类的东西,或者让 TransitionGroup 的行为方式与 SwitchTransition 模式“out-in”相同。提前致谢!
export default function App() {
const [state,setState] = React.useState(true);
const [direction,setDirection] = React.useState("left");
return (
<div className="main">
<SwitchTransition mode="out-in">
<Csstransition
key={state}
addEndListener={(node,done) => {
node.addEventListener("transitionend",done,false);
}}
classNames={direction === "left" ? "fade--left" : "fade--right"}
>
<div className="button-container">
<Button
onClick={() => {
setState((state) => !state);
const dir = Math.random() > 0.5 ? "right" : "left";
setDirection(dir);
}}
>
{direction}
</Button>
</div>
</Csstransition>
</SwitchTransition>
</div>
);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)