使用 Framer Motion React 在退出时动画组件
Animate Components On Exit With Framer Motion React
我有一个按钮可以在两个组件之间切换。
如何在退出时为每个组件添加动画?这是我的代码不起作用:
export default function App() {
const [dark, setDark] = useState(false);
const toggle = () => {
setDark(!dark);
};
return (
<div>
<AnimatePresence>
{dark ? (
<motion.h2 exit={{ opacity: 0 }}>Dark</motion.h2>
) : (
<motion.h2 exit={{ opacity: 0 }}>Light</motion.h2>
)}
</AnimatePresence>
<button onClick={toggle}>Toggle</button>
</div>
);
}
感谢您的帮助!
此问题现已修复。为了让动画工作,你应该添加 initial 和 animate 道具。此外,每个组件都需要有一个唯一的 key.
我有一个按钮可以在两个组件之间切换。 如何在退出时为每个组件添加动画?这是我的代码不起作用:
export default function App() {
const [dark, setDark] = useState(false);
const toggle = () => {
setDark(!dark);
};
return (
<div>
<AnimatePresence>
{dark ? (
<motion.h2 exit={{ opacity: 0 }}>Dark</motion.h2>
) : (
<motion.h2 exit={{ opacity: 0 }}>Light</motion.h2>
)}
</AnimatePresence>
<button onClick={toggle}>Toggle</button>
</div>
);
}
感谢您的帮助!
此问题现已修复。为了让动画工作,你应该添加 initial 和 animate 道具。此外,每个组件都需要有一个唯一的 key.