使用 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>
  );
}

感谢您的帮助!

此问题现已修复。为了让动画工作,你应该添加 initialanimate 道具。此外,每个组件都需要有一个唯一的 key.