我正在使用带有 React Router 的 Framer Motion 在不同的路由之间创建动画。
我遵循了本教程:https ://www.youtube.com/watch?v=qJt-FtzJ5fo
我将尝试将问题总结为以下几点:
我正在使用 React Router v6 进行路由,我的应用程序上有多个嵌套路由和并行开关,这是一个简单的目录。
我为每个页面的 {content} 组件添加了转换,并将 {footer} 和 {header} 组件留在不同的开关上,以防止它们产生动画。
我还向 switch 组件添加了 location={location} key={location.pathname} 并将 exitBeforeEnter 添加到 AnimatePresence 包装器。
当访问一个目录的项目时,问题变得很明显,其路径是“es/:catalogid/:id”,它是动态的并显示为上一页的覆盖。访问这些路由会影响上一个路由,位于“/es/”,并触发动画。
一个人将如何防止这个问题?
Framer Motion 和 React 路由器 5:如何防止使用嵌套路由重新渲染父组件?这几乎是完全相同的问题,但是代码和框不起作用,解决方案也不是。
谢谢阅读。