React Transition Group是一个用于实现动画过渡效果的React库。其中的SwitchTransition组件可以用于在两个子元素之间进行切换时添加过渡效果。下面是一个SwitchTransition组件的工作示例:
import React, { useState } from 'react';
import { SwitchTransition, CSSTransition } from 'react-transition-group';
const App = () => {
const [show, setShow] = useState(false);
const toggleShow = () => {
setShow(!show);
};
return (
<div>
<button onClick={toggleShow}>Toggle</button>
<SwitchTransition mode="out-in">
<CSSTransition
key={show ? 'component1' : 'component2'}
classNames="fade"
timeout={300}
>
{show ? <Component1 /> : <Component2 />}
</CSSTransition>
</SwitchTransition>
</div>
);
};
const Component1 = () => {
return <div className="component1">Component 1</div>;
};
const Component2 = () => {
return <div className="component2">Component 2</div>;
};
export default App;
在上面的示例中,通过点击按钮来切换show的状态,从而实现两个组件之间的切换。SwitchTransition组件包裹了CSSTransition组件,并根据show的值来决定显示哪个子组件。CSSTransition组件则根据key的变化来触发过渡效果,通过classNames指定过渡效果的CSS类名,timeout指定过渡动画的持续时间。
你可以根据自己的需求修改示例中的组件和过渡效果,并根据需要添加其他属性和样式。
更多关于React Transition Group的信息和使用方法,你可以参考腾讯云的文档:React Transition Group
领取专属 10元无门槛券
手把手带您无忧上云