成帧器运动 - 状态不会通过路线持续存在

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 内将重新加载您的框架,从而导致刷新状态。