react实现页面切换动画效果
一.前情概要
注:(我使用的路由是react-router4)
如下图所示,我们需要在页面切换时有一个过渡效果,这样就不会使页面切换显得生硬,用户体验大大提升;

but the 问题是,react的路由动画没有vue那么方便,在vue里面写几个样式就搞定了,在react里面,还要安装插件;
于是我就找了网上的一下方法,像react-addons-css-transition-group等等,又要安装插件,又要改路由的结构,又要搞什么vuex,又要判断什么时候入场动画....
我试了大概两个方法后,不知道为什么都没有成功...秋天不知不觉已经来了,寒风阵阵,不禁想起了vue..但我已经回不了头了;
二.峰回路转
就在这时,我在一篇文章找到了一个插件:
这个是作者解决animated-transitions的bug后封装好的父级组件
于是我打算放手试一试
三.乾坤一掷
使用起来非常简单,分成两步
1.安装:
npm install react-animated-router --save
2.在项目中使用:
import AnimatedRouter from 'react-animated-router'; //我们的AnimatedRouter组件
import 'react-animated-router/animate.css'; //引入默认的动画样式定义
然后将路由组件 Switch替换为 AnimatedRouter 即可;
按照组件作者的文章完成这两步后,就报错了:

歪?调弥歪?
四.破釜沉舟
个中曲折说来话长,最后我才知道原来还要另外安装两个插件:
npm install react-transition-group@2.3.0 --save
npm install –save-dev prop-types
然后,页面就可以正常运行不报错了,页面切换效果也有了;感谢组件的作者
需要补充的是,动画切换的样式文件就在node_modules\react-animated-router\animate.css里,你可以根据自己的需要直接修改动画效果。
或者复制出来修改再引用也许更好;
五.片尾广告(请直接跳过)
个人小程序,欢迎体验:

react实现页面切换动画效果的更多相关文章
- Windows Phone使用sliverlight toolkit实现页面切换动画效果
使用应用时,好多app在页面切换的时候都有一个动画效果,感觉很炫,也大大增加了用户体验,怎么实现呢? 界面的切换,可以用Windows Phone Toolkit中的TransitionService ...
- 超炫的 CSS3 页面切换动画效果
在线演示 源码下载
- 基于vue2.0打造移动商城页面实践 vue实现商城购物车功能 基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
基于vue2.0打造移动商城页面实践 地址:https://www.jianshu.com/p/2129bc4d40e9 vue实现商城购物车功能 地址:http://www.jb51.net/art ...
- (原)android中的动画(三)之动画监听&页面切换动画
1.动画也可以设置监听事件,例如在动画结束时需要执行某操作 把要执行的代码写在onAnimationEnd()回调方法中即可: anim.setAnimationListener(new Animat ...
- iOS页面切换动画实现方式。
iOS页面切换动画实现方式. 1.使用UIView animateWithDuration:animations:completion方法 Java代码 [UIView animateWithDura ...
- Activity 切换动画和页面切换动画
public class MainActivity extends Activity { private ViewFlipper viewFlipper; private float startX; ...
- Angular 全局页面切换动画 me-pageloading
最近看了Codrops的一篇文章, 里面讲到了一个页面切换的效果, 详情点击此处. 看了这个效果感觉很赞, 觉得这个效果可以用在angular的页面切换中, 所以将这个效果移植到angular中, 做 ...
- QtQuick多页面切换、多页面切换动画、多个qml文件数据交互
一.QtQuick多页面切换方法 (1)“隐藏法” 前一个视图visible设为false或者透明度opacity设为0,相当于“隐藏”了,实际还存在: 要显示的视图visible设为true或者透明 ...
- Xcode界面切换动画效果
CATransition *animation = [CATransition animation]; [animation setDuration:0.2f]; [animation setTimi ...
随机推荐
- 统计决策——贝叶斯决策理论(Bayesian Decision Theory)
(本文为原创学习笔记,主要参考<模式识别(第三版)>(张学工著,清华大学出版社出版)) 1.概念 将分类看做决策,进行贝叶斯决策时考虑各类的先验概率和类条件概率,也即后验概率.考虑先验概率 ...
- P1666 前缀单词
P1666 前缀单词 tire树上跑dp 首先将trie树建出来,然后对于每个节点.考虑他的子节点. 子节点的方案数都互不干扰,所以子节点与其他子节点的的方案数可以利用乘法原理算出来. 然后如果这个节 ...
- 【洛谷P1850】换教室[2016NOIP提高组]
换教室 期望DP 状态: f[i][j][0/1]表示前i节课 提交j个申请 第i个教室不申请/申请(为了确定当前教室,方便转移) 的最小期望 方程: f[i][j][0]=min(f[i-1][j] ...
- phpstorm的主题相关
下载地址: http://phpstorm-themes.com/ 安装方法 JAR文件 导航->file->Import Settings->然后选择你刚才下载的JAR文件-> ...
- UML 类关系图(泛化,实现,依赖,关联(聚合,组合))
UML的构造快包含3种: (1) 事物(4种):结构事物,行为事物,分组事物,注释事物 (2) 关系(4种):泛化关系,实现关系,依赖关系,关联关系 (3) 图(10种):用例图,类图,对象图,包图 ...
- python的格式化输出(format,%)
皇城PK Python中格式化字符串目前有两种阵营:%和format,我们应该选择哪种呢? 自从Python2.6引入了format这个格式化字符串的方法之后,我认为%还是format这根本就不算个问 ...
- libcurl 基本使用
libcurl,在HLS流媒体播放终端上提供HTTP下载的相关接口.具体的使用方式可以参见http://curl.haxx.se/libcurl/c/libcurl-tutorial.html,或博客 ...
- 安装VMware,出现没有虚拟网络适配器的问题
遇到错误:安装VMware Workstation Pro这个软件,网络适配器中没有虚拟网卡,导致无法上网 解决方法:遇到这个问题,我就第一时间就去网上搜索解决方法,方案有很多,但是试了很多个还是不行 ...
- 初探css3
属性选择器: 1.完全匹配的属性选择器. 就是完全匹配的字符串. [id=article]{ color:red; } 2.包含匹配选择器.包含有指定的字符串. 语法是:[attribute*=val ...
- 『ACM C++』 PTA 天梯赛练习集L1 | 016-017
今天开了两个大会,时间都给占掉了,就刷了两道题~ 明天加油!!! ------------------------------------------------L1-016------------- ...