NextJS - Framer-Motion 页面转换不触发
NextJS - Framer-Motion page transition doesn't fire
出于某种原因,我的带有 framer-motion 的 NextJS 页面转换似乎不起作用。我遵循了许多教程并进行了大量研究,但仍然无法正常工作。这是我的 _app.tsx
代码。
import '../styles/globals.css'
import '../styles/ui.css'
import '../fonts/define.css'
import { AppProps } from 'next/app'
import Layout from '../layouts/dashboard'
import Sidebar from '../components/Sidebar'
import { AnimatePresence, motion } from 'framer-motion'
const App = ({ Component, pageProps }: AppProps) => {
return <main>
<Sidebar/>
<AnimatePresence>
<motion.div initial={{opacity: 0}} animate={{opacity: 1}} exit={{opacity: 0}} className="content">
<Component {...pageProps} />
</motion.div>
</AnimatePresence>
</main>
}
export default App
当我在路由之间切换时,转换不会触发。它只会在初始加载时淡入,然后 opacity: 1
样式应用于 .content
div 就是这样。
感谢您的帮助!
我明白了。我需要将 key
属性添加到 <motion.div>
div。在这里阅读更多 https://www.framer.com/docs/animate-presence/#unmount-animations
出于某种原因,我的带有 framer-motion 的 NextJS 页面转换似乎不起作用。我遵循了许多教程并进行了大量研究,但仍然无法正常工作。这是我的 _app.tsx
代码。
import '../styles/globals.css'
import '../styles/ui.css'
import '../fonts/define.css'
import { AppProps } from 'next/app'
import Layout from '../layouts/dashboard'
import Sidebar from '../components/Sidebar'
import { AnimatePresence, motion } from 'framer-motion'
const App = ({ Component, pageProps }: AppProps) => {
return <main>
<Sidebar/>
<AnimatePresence>
<motion.div initial={{opacity: 0}} animate={{opacity: 1}} exit={{opacity: 0}} className="content">
<Component {...pageProps} />
</motion.div>
</AnimatePresence>
</main>
}
export default App
当我在路由之间切换时,转换不会触发。它只会在初始加载时淡入,然后 opacity: 1
样式应用于 .content
div 就是这样。
感谢您的帮助!
我明白了。我需要将 key
属性添加到 <motion.div>
div。在这里阅读更多 https://www.framer.com/docs/animate-presence/#unmount-animations