react制作webapp轉(zhuǎn)場動畫探索
react-css3-transition-group
手机端配合react-route转场动画案例初探
用法npm install
npm run dll
npm run start
代码说明
-
采用react-addons中提供的css3动画效果
-
搭配react-route进行路由切换
- 设置组件进入和退出的css样式(通过transform搭配transition动画)
<ReactCSSTransitionGroup
className="transition-wrapper"
component="div"
style={{height:'100%'}}
transitionName={this.state.transitionName}
transitionEnterTimeout={200}
transitionLeaveTimeout={200}>
<div key={this.props.location.pathname} style={{position:"absolute", width: "100%", height: '100%'}}>
{ React.cloneElement(this.props.children || <div />, {
setTransition : this.setTransition,
transitionName : this.state.transitionName
}) }
</div>
</ReactCSSTransitionGroup>
通过切换transitionName
达到页面接入或者是退出的应该执行的动画
重点说明
-
ReactCSSTransitionGroup
中的div
必须使用style
样式,保证页面中心重叠,因为切换开始时,实际上是两个页面同事存在的 - 不能在
ReactCSSTransitionGroup
上直接加style
,必须内嵌一个div
才用切换效果
全部代码在本人的github地址,有兴趣的朋友可以去看一下
链接:react-css3-transition-group
思考方案1:
采用redux管理transitionName
,在需要前进或者退出的时候,改变redux中的数据,达到动画切换(redux方案中的样式未用bootstrap,比较简陋)
思考方案2:
采用添加中间过渡页,通过子组件改变父组件中的transitionName
达到相同的目的
點擊查看更多內(nèi)容
2人點贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦