在前面的文章中的组件切换,都是直来直往,没有任何过渡,然后这并不符合真实项目场景,通常在项目中,切换不同的组件,都会添加一些动画效果。React 中可以使用 react-addons-css-transition-group 来实现动画效果。
假定我们要实现的页面:上面4个 tab ,分别对应不同的4个组件,点击 tab 切换到不同的组件,在这里使用不同的颜色来表示不同的组件,而不是真正的4个不同的组件。
step1: 定义样式
|
|
root 为根布局,nav 为 tab 父布局,navItem 表示每一个 tab,content 表示每一个 tab 对应的组件的容器,hsl 表示内容组件。
step2: 定义 tab 组件
|
|
该组件是对 Link 组件的包装,仅仅是添加了不同的样式。
step3: 定义 hsl 内容组件
|
|
组件使用 params 中的参数来设置背景颜色。
step4: 定义 root 组件
|
|
step5: 定义动画效果
|
|
关于 ReactCSSTransitionGroup 请参考 Link