0

我正在尝试使用 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

4

1 回答 1

0

我想我想通了。将您的上下文提供程序放置在AnimatePresence其中将重新加载您的框架,从而导致刷新状态。

于 2020-07-11T11:23:35.647 回答