成帧器运动 - 状态不会通过路线持续存在
Framer motion - State not persisting through routes
我正在尝试使用 Framer Motion 为使用 AnimatePresence 的路线制作动画,出于某种原因,我试图通过每条路线填充信息的上下文(通过表单收集个人信息作为注册步骤)不会持续存在当一个路由退出并通过 AnimatePresence 加载另一个路由时。我不确定为什么会这样。我是否应该在每次加载新路线时将状态作为道具传递?
<AnimatePresence exitBeforeEnter>
<Switch location={location} key={location.key}>
<Route exact path="/" component={LandingPage} />
...
</Switch>
</AnimatePresence>
我还为每条路线中的每个组件添加了初始、动画和退出过渡。一旦一个组件退出并加载其他组件,存储在上下文中的状态就会被重置。
另外location
这里来自const location = useLocation()
来自react-router-dom
我想我明白了。将您的上下文提供程序放在 AnimatePresence
内将重新加载您的框架,从而导致刷新状态。
我正在尝试使用 Framer Motion 为使用 AnimatePresence 的路线制作动画,出于某种原因,我试图通过每条路线填充信息的上下文(通过表单收集个人信息作为注册步骤)不会持续存在当一个路由退出并通过 AnimatePresence 加载另一个路由时。我不确定为什么会这样。我是否应该在每次加载新路线时将状态作为道具传递?
<AnimatePresence exitBeforeEnter>
<Switch location={location} key={location.key}>
<Route exact path="/" component={LandingPage} />
...
</Switch>
</AnimatePresence>
我还为每条路线中的每个组件添加了初始、动画和退出过渡。一旦一个组件退出并加载其他组件,存储在上下文中的状态就会被重置。
另外location
这里来自const location = useLocation()
来自react-router-dom
我想我明白了。将您的上下文提供程序放在 AnimatePresence
内将重新加载您的框架,从而导致刷新状态。