javascript - 切换路线动画

标签 javascript reactjs redux react-router reactcsstransitiongroup

最近,我使用 ReactCSSTransitions 从一侧“滑动”新页面。这工作正常,当然,除了现在实现它的那一刻,前一页将是空白的。我需要让前一个页面保持呈现状态,直到我的新页面从切换路线的侧面动画化。

哪种方法才是正确的实现方式?我是否需要强制收集一个 HTML 页面并将其拖到新页面旁边并保存以供我按“返回”时使用?

最佳答案

我建议使用 react-router-transition,而不是使用过渡组手动执行此操作相反。

你必须在你的 top love root 应用程序组件中做这样的事情:

import { RouteTransition } from 'react-router-transition'

<RouteTransition
  pathname={this.props.location.pathname}
  atEnter={{ translateX: 100 }}
  atLeave={{ translateX: -100 }}
  atActive={{ translateX: 0 }}
  mapStyles={styles => ({ transform: `translateX(${styles.translateX}%)` 
})}>
  {this.props.children}
</RouteTransition>

它使用 react-motion在引擎盖下,结果非常好。您可以查看演示 here .如果使用 react-router v4,已经有人在讨论这个 issue thread 中的当前解决方案.

关于javascript - 切换路线动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43587794/

相关文章:

javascript - 使用 Create-React-App 时,Webpack 需要抛出“目标容器不是 DOM 元素?”

reactjs - 在这个 redux React 示例中,根 reducer 从哪里来?调度如何知道该去哪个 reducer ?

javascript - 在 reducer 中使用 Date.now() 替换

reactjs - 如何存储 socket-io-client 实例以通过应用程序访问

javascript - React 中的 getElementById

javascript - Redux Action 无法识别状态

javascript - 检查指针是否与 OpenLayers 中的集群子特征相交?

javascript - 对以逗号分隔的数字字符串进行排序

javascript - 在通过 jquery 或 ajax 加载内容之前显示加载图像

javascript - a = {prop : a} vs a. prop = a : why is the first not a circular data structure?