使用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
属性。这将在页面更新或退出时触发退出动画。