使用exit和initial属性,例如:
import { motion } from "framer-motion"
import { useRouter } from "next/router"
const PageTransition = ({ children }) => {
const router = useRouter()
const exitAnimation = {
opacity: 0,
x: -50,
transition: { ease: 'easeInOut', duration: 0.3 }
}
const entranceAnimation = {
opacity: 1,
x: 0,
transition: { ease: 'easeInOut', duration: 0.3 }
}
return (
{children}
)
}
export default PageTransition
这里创建了一个PageTransition组件,它包装了children并使用AnimatePresence进行动画序列。通过使用exit和initial属性,可以为退出动画进行定制。定义了一个exitAnimation对象,并将其传递给顶层的motion.div作为exit属性。这将在页面更新或退出时触发退出动画。